查找 B 中而不是 A 中的行

Find rows in B not in A

矩阵 A(100,3) 和 B(1000,3)。我想获得 1) B 中不在 A 中的行及其索引,2) B 中的行以及 A 中的行及其索引。

A=randi([1 5],100,3)
B=randi([1 5],1000,3)
[a b]=intersect(A,B)
[c d]=~intersect(A,B)

怎么写才能得到行索引

您可以将 setdiff and intersect'rows' 选项一起使用:

[inBnotA, inBnotAindex] = setdiff(B, A, 'rows');
[inBandA, inBandAindex] = intersect(B, A, 'rows');