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

Réponses (1)

unique(A,'stable')

4 commentaires

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),:)

Connectez-vous pour commenter.

Catégories

Produits

Question posée :

le 4 Avr 2013

Community Treasure Hunt

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

Start Hunting!

Translated by