How can I compare two matrices of different dimensions without looping?

1 次查看(过去 30 天)
Hi, I have two matrices of different dimensions. For example:
A=[1 1 1 1; 2 1 1 1; 2 0 0 0; 3 0 1 0; 3 0 0 0; 3 0 0 1; 4 1 1 1; 5 1 0 1; 5 1 1 1; 5 0 0 1];
B=[3 0 1 0; 3 0 0 1; 5 1 0 1; 5 0 0 1];
I want to obtain a vector C of dimension size(A,1)x 1 with C(i) equal to 1 if A(i,:) is equal to at least one row of B and 0 otherwise. I cannot use loops because in practice matrices A and B have very high dimensions. In this particular example, I should get:
C=[0; 0; 0; 1; 0; 1; 0; 1; 0; 1];
Thanks!

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-11-27
编辑:Azzi Abdelmalek 2013-11-27
C=ismember(A,B,'rows')

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by