How can I sort an array with two columns?

2 views (last 30 days)
If I have an array of student ID in column1 and GPAs in column2
Info = [52211 3.55; 52922 1.79; 51939 3.33; 12140 0.81]
How can I sort the array from the highest GPA to the lowest GPA.

Accepted Answer

Stephen23
Stephen23 on 8 Oct 2018
Edited: Stephen23 on 8 Oct 2018
Very simply in one line using sortrows:
>> Info = [52211,3.55;52922,1.79;51939,3.33;12140,0.81]
Info =
52211 3.55
52922 1.79
51939 3.33
12140 0.81
>> Info = sortrows(Info,-2)
Info =
52211 3.55
51939 3.33
52922 1.79
12140 0.81

More Answers (2)

KSSV
KSSV on 8 Oct 2018
Info = [52211 3.55; 52922 1.79; 51939 3.33; 12140 0.81] ;
[val,idx] = sort(Info(:,2),'descend') ;
iwant = Info(idx,:)

Kevin Chng
Kevin Chng on 8 Oct 2018
Hi,
Info = [52211 3.55; 52922 1.79; 51939 3.33; 12140 0.81];
[~,I] = sort(Info(:,2),'descend');
Info(I,:);
Done!

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!