find few elements in vector

2 views (last 30 days)
Kerim Khemraev
Kerim Khemraev on 15 Nov 2016
Commented: Kerim Khemraev on 16 Nov 2016
Hi!
Let's assume that I have a vector y=[3 5 6 7 9] and x=[5 9] How can I get the indices of elements in 'y' that are equal to 'x' without using cycle? I mean if I had x=5 ('x' is a scalar) I would write something like y==x or find(y==x) but 'x' is a vector. Thank you in advance

Accepted Answer

Geoff Hayes
Geoff Hayes on 15 Nov 2016
Kerim - try using ismember or intersect to find those elements that are common to both arrays.

More Answers (2)

Roger Stafford
Roger Stafford on 15 Nov 2016
[~,ia] = intersect(y,x);
ia contains indices with respect to y of elements that lie both in y and in x.

Kerim Khemraev
Kerim Khemraev on 16 Nov 2016
Geoff Hayes, Roger Stafford Thank you a lot! intersect function solves my problem

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!