Ordering of the columns of an array according to a given line
1 view (last 30 days)
Show older comments
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
Answers (2)
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
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
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!