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

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

The proposed solution, ismember, works with whole numbers.
With floating point numbers rounding comes in and it's a different problem.
Did you search the File Exchange?
Look for Bruno's "ismemberf" in the FEX.
Hello Jam, I solved thanks to the 'ismemberf' function.
Best regards.

Connectez-vous pour commenter.

Plus de réponses (2)

[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 Performance and Memory dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by