MATLAB Answers

Ordering of the columns of an array according to a given line

1 view (last 30 days)
Marcus Vinicius Pereira de Souza
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

  0 Comments

Sign in to comment.

Answers (2)

Andrei Bobrov
Andrei Bobrov on 24 Sep 2012
Edited: Andrei Bobrov on 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)';

  0 Comments

Sign in to comment.


Rodrigo
Rodrigo on 24 Sep 2012
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);

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by