matrix transformation to make the values of second row to be lower to higher

2 views (last 30 days)
Hi fellows,
I have a matrix D=[p1,p1,p3;d1,d2,d3]. Now I want change the column orderings such that the second row of D is ordering from lower to higher value. For example, D=[0.3,0.5,0.2;0.3,-0.1,0.7]. What I want to is the new matrix to be [0.5,0.3,0.2;-0.1,0.3,0.7]. Do you know an efficient way to realize this?

Accepted Answer

Wayne King
Wayne King on 23 Oct 2013
Edited: Wayne King on 23 Oct 2013
I'm not sure I quite understand what you're doing from your description, but
D = [0.3,0.5,0.2;0.3,-0.1,0.7];
[~,idx] = sort(D(1,:),2,'descend');
Dnew = D(:,idx);
The above gives the new matrix you want

More Answers (0)

Community Treasure Hunt

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

Start Hunting!