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 Kommentare

madhan ravi
madhan ravi am 17 Apr. 2019
Bearbeitet: madhan ravi am 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.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Adam Danz
Adam Danz am 17 Apr. 2019
Bearbeitet: Adam Danz am 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 Kommentar

Oxeley
Oxeley am 17 Apr. 2019
Bearbeitet: Oxeley am 17 Apr. 2019
fantastic....ismember() it's could be the instruction that i've searched for a day .
thanks

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 17 Apr. 2019

Bearbeitet:

am 17 Apr. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by