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