finding in which row two array has equal values

12 Ansichten (letzte 30 Tage)
Oxeley
Oxeley am 17 Apr. 2019
Bearbeitet: Oxeley am 17 Apr. 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 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.
Bob Thompson
Bob Thompson am 17 Apr. 2019
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 Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by