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

 Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 15 Nov. 2016

0 Stimmen

Kerim - try using ismember or intersect to find those elements that are common to both arrays.

Weitere Antworten (2)

Roger Stafford
Roger Stafford am 15 Nov. 2016

0 Stimmen

[~,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 am 16 Nov. 2016

0 Stimmen

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!

Translated by