两个矩阵,A和B:
A = [1 2 3
9 7 5
4 9 4
1 4 7]
B = [1 2 3
1 4 7]
矩阵 B 的所有行都是矩阵 A 的成员。我想从 A 中删除 A 和 B 的公共(public)行而不进行排序。
我试过 setdiff() 但这对输出进行了排序。
对于我的特定问题(蛋白质结构中的原子坐标),保持行的有序完整性很重要。
最佳答案
使用ISMEMBER :
%# find rows in A that are also in B
commonRows = ismember(A,B,'rows');
%# remove those rows
A(commonRows,:) = [];
关于sorting - 如何在 MATLAB 中不排序的情况下从 A 中删除集合 A 和 B 的交集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3467670/