This question already has answers here:
Closed 4 years ago.
finding matching rows in matrix
(4个答案)
检查矩阵中所有行的数值是否相等的最有效方法是什么?
最好找没有for循环的东西。
另一方面,使用一个简单的
如果你想清楚一点,这一行基本上是这样写的:只有一行吗?
(4个答案)
检查矩阵中所有行的数值是否相等的最有效方法是什么?
最好找没有for循环的东西。
最佳答案
你可以这样说:所有行的所有组成部分都等于第一行吗?
allRowsEqual = all(all(bsxfun(@eq, A, A(1,:))));
另一方面,使用一个简单的
for
循环可能会更快,因为上面必须查看整个矩阵。。。allRowsEqual = true;
for k = 1:size(A,1)
if any(A(k,:)~=A(1,:))
allRowsEqual = false;
break;
end
end
如果你想清楚一点,这一行基本上是这样写的:只有一行吗?
allRowsEqual = size(unique(A,'rows'),1)==1;
07-28 12:30