Ordering of the columns of an array according to a given line
Afficher commentaires plus anciens
Dear all, I have the following database:
15 50 15 30 20
1 3 5 2 4
However, I need to sort as follows:
15 30 50 20 15
1 2 3 4 5
Can anyone help me? Thanks a lot. Marcus Vinicius
Réponses (2)
Andrei Bobrov
le 24 Sep 2012
Modifié(e) : Andrei Bobrov
le 24 Sep 2012
A = [15 50 15 30 20
1 3 5 2 4]; The initial array
[ii ii] = sort(A(2,:));
out = A(:,ii);
or
out = sortrows(A',2)';
Rodrigo
le 24 Sep 2012
1 vote
It seems like you want to sort by the value of the second row. To do this you first find the order you want:
[~,ind]=sort(A(2,:));
where A is the array containing your data. Then you produce the sorted array by calling the index:
B=A(:,ind);
Catégories
En savoir plus sur Shifting and Sorting Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!