How to search for an array inside another array?

87 次查看(过去 30 天)
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 个评论
Rik
Rik 2020-6-26
Why would that be the output? The b array only occurs in a only once: at the bottom.
Tintumon
Tintumon 2020-6-26
I need to do a search for each row of "b" array and check whether that row occurs in array.

请先登录,再进行评论。

采纳的回答

Rik
Rik 2020-6-26
idx=find(ismember(a,b,'row'))

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by