2015-10-13 90 views
2

我想比较两个不同矩阵的行并找出哪些行匹配。如何比较两个不同矩阵的行(一行到另一行)?

例如: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.

+0

您可以直接对它们进行比较用== ==,它只是返回一个逻辑数组。 – excaza

+0

@excaza然后,我将不得不使用'all(C,2)'来获得列向量吗? – nashynash

+2

是的,像'测试=所有(A == B,2);'工作正常 – excaza

回答

2
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); 
+0

使用循环可以完成吗? @bill – nashynash

+0

非常感谢。虽然'excaza'在你做之前就已经提到过了。 – nashynash

+0

是的,刚才看到,我只是让循环实现在我的回答 – BillBokeey

相关问题