Hot to find the matched values between two vectors and also related indeces

54 vues (au cours des 30 derniers jours)
Juster
Juster le 17 Juin 2012
Good evening to all,
I have two vectors, for example:
a = [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27]; b= [0 8 17 25];
what I would find are the indices related the vector 'a' with the same value of 'b'...like for example in this case 1 9 18 26.
Thanks in advance.

Réponse acceptée

Juster
Juster le 18 Juin 2012
Any answer please?
Thanks
  3 commentaires
Jan
Jan le 18 Juin 2012
Look for Bruno's "ismemberf" in the FEX.
Juster
Juster le 20 Juin 2012
Hello Jam, I solved thanks to the 'ismemberf' function.
Best regards.

Connectez-vous pour commenter.

Plus de réponses (2)

Andrei Bobrov
Andrei Bobrov le 17 Juin 2012
[idx,loc] = ismember(b,a);
out = loc(idx);
ADD after Knot's answer
out = find(any(abs(bsxfun(@minus,a,b.')) < eps(100)));

Juster
Juster le 17 Juin 2012
I tried it but with microsecond order it did'n work.
In fact if you try with :
a = [0:10e-6:280e-6]; b = [0 80e-6 170e-6 250e-6]; [idx,loc] = ismember(b,a); out = loc(idx);
I don't got the right values of indices.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by