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

Respuestas (1)

unique(A,'stable')

4 comentarios

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

Iniciar sesión para comentar.

Categorías

Productos

Preguntada:

el 4 de Abr. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by