Matlab - Reordenar matriz en funcion de una fila de la matriz

 
Vista:
Imágen de perfil de Alberto
Val: 28
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Reordenar matriz en funcion de una fila de la matriz

Publicado por Alberto (9 intervenciones) el 18/07/2019 18:39:49
disculpen, tengo un problema con ordenar una matriz y quiero ver si podrian ayudarme, tengo la siguiente matriz a, en la cual tengo 2 filas con 7 columnas. quiero ordenar la fila 2 en orden ascendente y que a su vez la fila uno se ordene con respecto a la fila 2.

Capture

se que con la funcion sort puedo ordenar la fila 2, pero quiero que la fila 1 haga los mismos movimientos que la fila 2
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil
Val: 663
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Reordenar matriz en funcion de una fila de la matriz

Publicado por Daniel (184 intervenciones) el 18/07/2019 21:59:01
Hola,

La solución es fácil, la segunda salida del comando sort es el orden de ordenación. Así si queremos obtener el orden de ordenación para la segunda fila de una matriz es necesario escribir:

1
[~, i] = sort(m(2, :));

~ es simplemetne para ignorar la primera salida de la función. Por defecto se ordena de orden ascendente, si se desea el orden descendente se tiene que indicar en la segunda entrada. Ahora para ordenar la matriz se usan los índices obtenidos previamente

1
m(:, i)

Por ejemplo, se puede probar con la matriz magic:

1
2
3
m = magic(4)
[~, i] = sort(m(2, :));
m(:, i)

Lo que produce

1
2
3
4
5
6
7
8
9
10
11
12
13
14
m =
 
    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1
 
 
ans =
 
    16    13     3     2
     5     8    10    11
     9    12     6     7
     4     1    15    14

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Alberto
Val: 28
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Reordenar matriz en funcion de una fila de la matriz

Publicado por Alberto (9 intervenciones) el 19/07/2019 17:36:03
Capture2

excelente, muchísimas gracias, todo funcionó a la perfección
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar