如何在不重复删除的情况下获得矩阵的差异

时间:2018-01-18 05:57:50

标签: matlab

函数setdiff(A,B,'rows')用于返回A中但不是B的行集,并删除重复。

有没有办法没有删除重复? 非常感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用ismember代替setdiff来查找B中显示的A的所有行。

因为您只想要那些未出现在A中的符号,所以请使用~符号,最后在这些行索引中获取所有A行:

A =

     1     2     3
     4     5     6
     1     2     3
     7     8     9

B =

     4     5     6

C=A(~ismember(A,B,'rows'),:)

C =

     1     2     3
     1     2     3
     7     8     9