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.
guarde los índices de clasificación de la fila / columna que desea ordenar de la siguiente manera:
[~,idx]=sort(data(:,1));reordenar todas las filas / columnas de acuerdo con los índices ordenados anteriores
data=data(idx,:)