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

 Réponse acceptée

Geoff Hayes
Geoff Hayes le 15 Nov 2016

0 votes

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

Plus de réponses (2)

Roger Stafford
Roger Stafford le 15 Nov 2016

0 votes

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

0 votes

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