How to eliminate duplicate rows without sorting column in Matlab

Hi,
Here is one problem that maybe some people will find useful to them.
I got matrix, lets say 500x9. In this matrix some rows are identical so they have to be eliminated. But the 3rd column musn't be sorted. This must be unchanged. All other columns can be changed (sorted).
I tryed this with function unique, but it sort me 3rd column.
Thank you in advance.
Have a nice day,
Nejc

Answers (1)

unique(A,'stable')

4 Comments

Its says unrecognized option, but thank you anyway.
A=[1 2;3 5;1 2;0 2;0 2]
[~,idx]=unique(A,'rows')
out=A(sort(idx),:)
@Nejc, the 'stable' option became available in R2012a.
Edit
A=[1 2;3 5;1 2;0 2;0 2]
[~,idx]=unique(A,'rows','first')
out=A(sort(idx),:)

Sign in to comment.

Categories

Products

Asked:

on 4 Apr 2013

Community Treasure Hunt

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

Start Hunting!