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 Comments

Illustrate with a short example. See if ismember() does what you want.
ismember, find, or intersect might all be useful for you.

Sign in to comment.

 Accepted Answer

% 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

Asked:

on 17 Apr 2019

Edited:

on 17 Apr 2019

Community Treasure Hunt

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

Start Hunting!