How to search for an array inside another array?

84 Ansichten (letzte 30 Tage)
Tintumon
Tintumon am 26 Jun. 2020
Kommentiert: Tintumon am 26 Jun. 2020
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
idx=find(ismember(a,b,'row'))

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by