组合两个数组同时排除在两个数组中都找到的行

Combining two arrays while excluding rows that are found in both

我有两个数组:

a = [1 2; 2 3; 4 5];
b = [2 5; 1 2; 6 9];

现在我想创建一个新数组 c,它将不包含两个数组(ab)中相同的行。所以 c 数组看起来像

c = [2 3; 4 5; 2 5; 6 9];

我该怎么做?有什么命令可以使用吗?

请在下一个问题中显示您到目前为止所做的尝试。

c= [a(~ismember(a,b,'rows'),:);b(~ismember(b,a,'rows'),:)]

您可以使用 setxorrows 选项。这个函数默认是按升序排列行,但是如果你想保持原来的顺序,你可以使用stable选项:

c=setxor(a,b,'rows','stable')

c =

 2     3
 4     5
 2     5
 6     9