Get the index from the comparison of two different lenght vectors
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Hi,
I would like to compare two vectors, and get the indexes of the positions where the two vectors are matching. In such a way I could create a sort of lookup table with the correspondences between the vectors indexes. For instance, if I have:
A = [1 2 3 5 6 8 9 7 10] B = [1 5 7 9]
indexes = compare(B,A);
I would like to have as a result: indexes = [1 4 9 8] I would have this way a sort of lookup table keeping track of the correspondences between the two vectors.
If I would then obtain the second element of B then I could just say that is A(4) = 5....or.... B(2) = 4;
how could I do this without looping over the whole vector? (which in my case is very huge....)
Respuesta aceptada
Desiree
el 14 de Sept. de 2011
You can use function INTERSECT for this:
>> A = [1 2 3 5 6 8 9 7 10] ;B = [1 5 7 9];
>> [c, ia, ib] = intersect(A,B)
c =
1 5 7 9
ia =
1 4 8 7
ib =
1 2 3 4
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrices and Arrays en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!