# Finding matched rows of matrix with other matrix?

1 view (last 30 days)
Ahmed Anas on 24 Jun 2020
Commented: Ahmed Anas on 25 Jun 2020
Lets say we have two matrix.
A=[1 1]
B=[2 0;1 1;1 1;3 1]
Now second and third rows of B are same as matrix A. and I want to find indices of such rows. i.e 2 and 3
I have tried 'ismember' but it is giving just first matched row index i.e. 2 (code can be seen below)
Thanks
A=[1 1]
B=[2 0;1 1;1 1;3 1]
[L, M] = ismember(A,B, 'rows')

Gaganjyoti Baishya on 24 Jun 2020
arr=[];
for i=1:size(B,1)
c=0;
for j=1:2
if B(i,j)==A(1,j)
c=c+1;
end
end
if c==2
arr=[arr i]
end
end

#### 1 Comment

Ahmed Anas on 25 Jun 2020
Thanks ,Gaganjyoti Baishya.
But i have also developed the code below:
A=[1 2];
B=[1 1;1 2;3 2;2 1;1 2;1 2];
Index=1;
for i=1:size(B,1)
Ismatched=ismember(A,B(i,:),'rows');
if Ismatched==1
MatchedRows(Index)=i;
Index=Index+1;
end
end
MatchedRows

R2017a

### Community Treasure Hunt

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

Start Hunting!