How to search for an array inside another array?

85 views (last 30 days)
E.g: I have the following array:
a = [1 1; 1 2; 1 3; 1 4; 1 1; 1 4; 1 5];
I want to search for the occurance of each row of the following array inside "a":
b = [1 1; 1 4; 1 5]
The output should be the index location as follows:
idx = [1;5;4;6;7]
I tried the following code. But it does not work:
idx = [];
for i = size(b,1)
temp_idx = find(b(i,:) == a )
idx = [idx; temp_idx];
end
I there any way to do this ?
  2 Comments
Rik
Rik on 26 Jun 2020
Why would that be the output? The b array only occurs in a only once: at the bottom.
Tintumon
Tintumon on 26 Jun 2020
I need to do a search for each row of "b" array and check whether that row occurs in array.

Sign in to comment.

Accepted Answer

Rik
Rik on 26 Jun 2020
idx=find(ismember(a,b,'row'))

More Answers (0)

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!