finding in which row two array has equal values

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.
ismember, find, or intersect might all be useful for you.

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 Centro assistenza e File Exchange

Richiesto:

il 17 Apr 2019

Modificato:

il 17 Apr 2019

Community Treasure Hunt

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

Start Hunting!

Translated by