~ismember does not work on my matrix
1 次查看(过去 30 天)
显示 更早的评论
A=[1 1 5 6;
2 2 1 5;
3 1 4 2;
4 4 2 1;
5 6 2 1;]
B=[1 1 1; %remain
1 4 2;
1 5 6;
2 1 5;
4 2 1;
4 2 2; %remain
6 2 1;
6 3 1;] %remain
I would like the output, C to display
C=[1 1 1;
4 2 2;
6 3 1;]
I tried the following:
[idx1,idx2] = ismember(A(:,2:4),B,'rows');
However, when I used ~
[idx1,idx2] = ~ismember(A(:,2:4),B,'rows');
An error's returned.
May I know why is this so and any suggestions on how to get around this?
0 个评论
采纳的回答
Andrei Bobrov
2013-9-11
Try
C = setdiff(B,A(:,2:end),'rows')
or
C = B(~ismember(B,A(:,2:end),'rows'),:)
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!