Compare two matrix and delete the same rows

5 visualizzazioni (ultimi 30 giorni)
Patrick
Patrick il 27 Ott 2014
Risposto: Andrei Bobrov il 27 Ott 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!

Risposte (3)

Azzi Abdelmalek
Azzi Abdelmalek il 27 Ott 2014
Modificato: Azzi Abdelmalek il 27 Ott 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 il 27 Ott 2014
setdiff(B,A,'rows')

David Sanchez
David Sanchez il 27 Ott 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

Community Treasure Hunt

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

Start Hunting!

Translated by