finding in which row two array has equal values

13 visualizaciones (últimos 30 días)
Oxeley
Oxeley el 17 de Abr. de 2019
Editada: Oxeley el 17 de Abr. de 2019
I have two array with different length A=(500.000,1) and B=(621,1) where all the 621 values of B are included in some of the A rows.
I want to find in which row of A, B will have the same value of A and create a new array C with the result(index)
any idea?
  2 comentarios
madhan ravi
madhan ravi el 17 de Abr. de 2019
Editada: madhan ravi el 17 de Abr. de 2019
Illustrate with a short example. See if ismember() does what you want.
Bob Thompson
Bob Thompson el 17 de Abr. de 2019
ismember, find, or intersect might all be useful for you.

Iniciar sesión para comentar.

Respuesta aceptada

Adam Danz
Adam Danz el 17 de Abr. de 2019
Editada: Adam Danz el 17 de Abr. de 2019
% Create fake data for the example
B = 1:621;
A = randi(621, 500000, 1);
% Loop through each element of B, return the row number of matching values in A
resultIdx = cell(size(B));
for i = 1:length(B)
resultIdx{i} = find(ismember(A,B(i)));
end
resultIdx{n} lists the rows of A that match the value of B(n).
  1 comentario
Oxeley
Oxeley el 17 de Abr. de 2019
Editada: Oxeley el 17 de Abr. de 2019
fantastic....ismember() it's could be the instruction that i've searched for a day .
thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Operators and Elementary Operations 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!

Translated by