finding in which row two array has equal values

13 views (last 30 days)
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 Comments
madhan ravi
madhan ravi on 17 Apr 2019
Edited: madhan ravi on 17 Apr 2019
Illustrate with a short example. See if ismember() does what you want.

Sign in to comment.

Accepted Answer

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

Sign in to comment.

More Answers (0)

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!