MATLAB: How to delete rows from a matrix when the values of certain columns are equal

columnsconditiondeleteequalrows

I have a matrix
M = [1 1 7 8; 2 3 6 9; 5 8 10 8; 4 4 3 1]
and I want to delete the rows that have the same value in the first and second column. In this example I want to delete the rows
1 1 7 8
4 4 3 1
and then have the remaining columns in the matrix:
M = [2 3 6 9; 5 8 10 8]
How do I do that?

Best Answer

Try
>> M = [1 1 7 8; 2 3 6 9; 5 8 10 8; 4 4 3 1]
M =
1 1 7 8
2 3 6 9
5 8 10 8
4 4 3 1
>> M( M(:,1)==M(:,2),:)=[];
>> M
M =
2 3 6 9
5 8 10 8
and look up logical indexing in the Help.