Matlab - ordenación de matrices

   
Vista:

ordenación de matrices

Publicado por cucu (38 intervenciones) el 03/05/2009 10:33:00
hola, estoy intentando ordenar una matriz, he visto que el comando es sort, pero no consigo hacer lo que yo quiero:

tengo la matriz:

[ 1 2 3
5 6 4
7 8 9]

y quiero que se reordene según la segunda fila, es decir:

[3 1 2
4 5 6
9 7 8 ]

Las posibilidades de sort parece que no me valen, poner sort(X,2) ordena cada fila independientemente,

¿hay alguna manera de utilizar cada columna como bloque independiente para poder hacerlo?

Gracias. Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ordenación de matrices

Publicado por ramiro (54 intervenciones) el 04/05/2009 18:38:45
No es exactamente lo que estás planteando, porque entiendo que te interesa más una solución lo más reducida posible, pero, si te sirve aquí va una propuesta:
A =

3 2 1
5 4 6
8 9 7
[Y,I]=sort(A(2,:))
A=[A(:,I(1)) A(:,I(2)) A(:,I(3))]

A =

2 3 1
4 5 6
9 8 7
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ordenación de matrices

Publicado por cucu (38 intervenciones) el 04/05/2009 19:15:20
Perfecto! gracias, era justo lo que quería pero no me salía.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar