sorting specific columns of a matrix

trying not to sort entire matrix just the columns that conforms the rule. the example is a =[8 6 7; 9 6 7; 10 7 8; 9 9 8; 10 9 8; 9 9 10; 10 9 10; 11 9 10]; I want to sort the rows according to 2 and 3 respectively, but if the value on the second row is greater than the value on the third row this columns should also be sorted by the first column descending. The answer should be: b = [8 6 7; 9 6 7; 10 7 8; 10 9 8; 9 9 8; 9 9 10; 10 9 10; 11 9 10]; any advice?

Answers (1)

Triveni
Triveni on 24 Jan 2016
Edited: Triveni on 13 Mar 2016
out = sort(a, 'descend');
for ascending order
sort(a, 'ascend');

6 Comments

Thanks, but not the correct answer.
what's problem??
please look at the 4. and 5. columns.
what answer exactly you want???
a = [8 6 7; 9 6 7; 10 7 8; 9 9 8; 10 9 8; 9 9 10; 10 9 10; 11 9 10]; b = [8 6 7; 9 6 7; 10 7 8; 10 9 8; 9 9 8; 9 9 10; 10 9 10; 11 9 10]; b is the answer
b=sortrows(a,[2 3]) but then?

Sign in to comment.

Categories

Tags

Asked:

on 24 Jan 2016

Edited:

on 13 Mar 2016

Community Treasure Hunt

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

Start Hunting!