How to search for an array inside another array?

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 Kommentare

Rik
Rik am 26 Jun. 2020
Why would that be the output? The b array only occurs in a only once: at the bottom.
Tintumon
Tintumon am 26 Jun. 2020
I need to do a search for each row of "b" array and check whether that row occurs in array.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Rik
Rik am 26 Jun. 2020

0 Stimmen

idx=find(ismember(a,b,'row'))

Weitere Antworten (0)

Kategorien

Produkte

Version

R2018b

Gefragt:

am 26 Jun. 2020

Kommentiert:

am 26 Jun. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by