Compare two matrix and delete the same rows

5 views (last 30 days)
Patrick
Patrick on 27 Oct 2014
Answered: Andrei Bobrov on 27 Oct 2014
Say I have A= [1 2 3, 4 5 6, 6 7 8] and B= [4 5 7, 1 2 3, 7 6 4, 6 7 8]. How can I delete the rows in B that are the same with A? The result desired is B=[4 5 7, 7 6 4]
Thanks!

Answers (3)

Azzi Abdelmalek
Azzi Abdelmalek on 27 Oct 2014
Edited: Azzi Abdelmalek on 27 Oct 2014
A= [1 2 3; 4 5 6; 6 7 8]
B= [4 5 7; 1 2 3; 7 6 4; 6 7 8]
B(ismember(B,A,'rows'),:)=[]

Andrei Bobrov
Andrei Bobrov on 27 Oct 2014
setdiff(B,A,'rows')

David Sanchez
David Sanchez on 27 Oct 2014
A= [1 2 3; 4 5 6; 6 7 8];
B= [4 5 7; 1 2 3; 7 6 4; 6 7 8];
Lia = ismember(B,A,'rows');
B_new = B(~Lia,:)
B_new =
4 5 7
7 6 4

Tags

Community Treasure Hunt

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

Start Hunting!