finding in which row two array has equal values

8 vues (au cours des 30 derniers jours)
Oxeley
Oxeley le 17 Avr 2019
Modifié(e) : Oxeley le 17 Avr 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 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.
Bob Thompson
Bob Thompson le 17 Avr 2019
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

En savoir plus sur Operators and Elementary Operations 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