2015-10-13 45 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

相關問題