Pergunta

Gostaria de classificar uma matriz de acordo com uma determinada coluna. Há uma função sort, mas ele classifica todas as colunas de forma independente.

Por exemplo, se o meu data matriz é:

 1     3
 5     7
-1     4

Em seguida, a saída desejada (por triagem da primeira coluna) seria:

-1     4
 1     3
 5     7

Mas a saída do sort(data) é:

-1     3
 1     4
 5     7

Como posso tipo esta matriz pela primeira coluna?

Foi útil?

Solução

Eu acho que a sortRows função é o que você está procurando .

>> sortrows(data,1)

ans =

    -1     4
     1     3
     5     7

Outras dicas

Uma alternativa para sortrows(), que pode ser aplicado a cenários mais amplos.

  1. Salvar os índices de classificação da linha / coluna que pretende encomendar por:

    [~,idx]=sort(data(:,1));
    
  2. Reordenar todas as linhas / colunas de acordo com o ordenado índices

    anterior
    data=data(idx,:)
    
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top