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 commentaires

madhan ravi
madhan ravi le 17 Avr 2019
Modifié(e) : madhan ravi le 17 Avr 2019
Illustrate with a short example. See if ismember() does what you want.
ismember, find, or intersect might all be useful for you.

Connectez-vous pour commenter.

 Réponse acceptée

Adam Danz
Adam Danz le 17 Avr 2019
Modifié(e) : Adam Danz le 17 Avr 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 commentaire

Oxeley
Oxeley le 17 Avr 2019
Modifié(e) : Oxeley le 17 Avr 2019
fantastic....ismember() it's could be the instruction that i've searched for a day .
thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by