假设我们有两个矩阵
A = [1,2,3;
2,4,5;
8,3,5]
B= [2,3;
4,5;
8,5]
如何在不使用循环或cellfun的情况下分别为A和B中的每一行执行sediff
,换句话说,对所有setdiff(A(i,:),B(i,:))
执行i
。对于这个例子,我想得到
[1;
2;
3]
我正在尝试为我的流体模拟器制作两个非常大的矩阵,因此我不能在性能上妥协。
更新:
您可以假设答案的第二个维度(列数)将是固定的,例如答案将始终是一些n乘m矩阵,而不是一些不同列大小的参差不齐的数组。
另一个例子:
在我的情况下,A和B分别是m乘3和m乘以2,答案应该是m乘1.对于这种情况的解决方案就足够了,但是对于大小为m的矩阵的一般解由n1,m乘以n2通过n3回答m将是非常有趣的。另一个例子是
A = [1,2,3,4,5;
8,4,7,9,6]
B = [2,3;
4,9]
答案是
C = [1,4,5;
8,7,6]