Como posso ordenar uma matriz de 2-D em MATLAB com relação a uma coluna?
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?
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.
-
Salvar os índices de classificação da linha / coluna que pretende encomendar por:
[~,idx]=sort(data(:,1));
-
Reordenar todas as linhas / colunas de acordo com o ordenado índices
anteriordata=data(idx,:)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow