如何比较两个不同矩阵的行(一行到另一行)?
我想比较两个不同矩阵的行并找出哪些行匹配。如何比较两个不同矩阵的行(一行到另一行)?
例如:A= [1 2 3; 4 5 6; 7 8 9; 1 2 3]; B= [1 2 3; 4 5 8; 7 8 9; 7 7 7]
然后我想A的第一行与B的第一行比较,A的第二排与B的第二排等,如果它们不匹配,它应该返回逻辑0或错误,反之亦然。说,如果C是输出列向量然后,C = [ 1; 0; 1; 0]
有没有像ismember
任何MATLAB函数。与ismember
的问题是,它并不比排明智,但如果在一个连续的B.
N=size(A,1);
C=zeros(N,1);
for k=1:N
C(k)=isequal(A(k,:),B(k,:));
end
存在未经环(学分excaza)比较:
C=all(A==B,2);
使用循环可以完成吗? @bill – nashynash
非常感谢。虽然'excaza'在你做之前就已经提到过了。 – nashynash
是的,刚才看到,我只是让循环实现在我的回答 – BillBokeey
您可以直接对它们进行比较用== ==,它只是返回一个逻辑数组。 – excaza
@excaza然后,我将不得不使用'all(C,2)'来获得列向量吗? – nashynash
是的,像'测试=所有(A == B,2);'工作正常 – excaza