sortrows por ordenar matriz filas descendente matlab sorting matrix octave

matlab - descendente - ordenar matriz por filas



¿Cómo puedo ordenar una matriz de 2-D en MATLAB con respecto a una columna? (2)

Creo que la función sortrows es lo que estás buscando.

>> sortrows(data,1) ans = -1 4 1 3 5 7

Me gustaría ordenar una matriz de acuerdo con una columna en particular. Hay una función de sort , pero ordena todas las columnas de forma independiente.

Por ejemplo, si mis data matriz son:

1 3 5 7 -1 4

Entonces, el resultado deseado (clasificación por la primera columna) sería:

-1 4 1 3 5 7

Pero el resultado de sort(data) es:

-1 3 1 4 5 7

¿Cómo puedo ordenar esta matriz por la primera columna?


Una alternativa a sortrows() , que se puede aplicar a escenarios más amplios.

  1. guarde los índices de clasificación de la fila / columna que desea ordenar de la siguiente manera:

    [~,idx]=sort(data(:,1));

  2. reordenar todas las filas / columnas de acuerdo con los índices ordenados anteriores

    data=data(idx,:)