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?

Réponses (1)

Triveni
Triveni le 24 Jan 2016
Modifié(e) : Triveni le 13 Mar 2016
out = sort(a, 'descend');
for ascending order
sort(a, 'ascend');

6 commentaires

Ozgur Avsar
Ozgur Avsar le 24 Jan 2016
Thanks, but not the correct answer.
Triveni
Triveni le 24 Jan 2016
what's problem??
Ozgur Avsar
Ozgur Avsar le 24 Jan 2016
please look at the 4. and 5. columns.
Triveni
Triveni le 24 Jan 2016
what answer exactly you want???
Ozgur Avsar
Ozgur Avsar le 24 Jan 2016
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
Ozgur Avsar
Ozgur Avsar le 24 Jan 2016
b=sortrows(a,[2 3]) but then?

Connectez-vous pour commenter.

Catégories

Tags

Modifié(e) :

le 13 Mar 2016

Community Treasure Hunt

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

Start Hunting!

Translated by