How to search for an array inside another array?

136 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)

Categories

Find more on Structures in Help Center and File Exchange

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!