finding in which row two array has equal values

13 visualizzazioni (ultimi 30 giorni)
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 Commenti
madhan ravi
madhan ravi il 17 Apr 2019
Modificato: madhan ravi il 17 Apr 2019
Illustrate with a short example. See if ismember() does what you want.

Accedi per commentare.

Risposta accettata

Adam Danz
Adam Danz il 17 Apr 2019
Modificato: Adam Danz il 17 Apr 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 Commento
Oxeley
Oxeley il 17 Apr 2019
Modificato: Oxeley il 17 Apr 2019
fantastic....ismember() it's could be the instruction that i've searched for a day .
thanks

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Operators and Elementary Operations in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by