Sorting

2 vues (au cours des 30 derniers jours)
CHAITANYA PRASAD
CHAITANYA PRASAD le 30 Mar 2012
I have 'line' matrix as follows :
line(1,m)= 1 2 3 4 5 6 7 8 9 10
line(2,m)=1.3 -2.3 4.245 12.3 -4.5 9.43 8.34 -5.3 3.54 6.4
I want to sort 2nd row in descend order, but 1st row as follows:
line(1,m)= 4 6 7 10 3 9 1 2 5 8
line(2,m)=12.3 9.43 8.34 6.4 4.245 3.54 1.3 -2.3 -4.5 -5.3

Réponses (2)

Andrei Bobrov
Andrei Bobrov le 30 Mar 2012
l = [1 2 3 4 5 6 7 8 9 10
1.3 -2.3 4.245 12.3 -4.5 9.43 8.34 -5.3 3.54 6.4];
solution
[i1,i1] = sort(l(2,:),'descend');
out = l(:,i1)
OR
out = sortrows(l.',-2).'
  1 commentaire
CHAITANYA PRASAD
CHAITANYA PRASAD le 1 Avr 2012
Thank u Bobrov...It was very helpful..:)

Connectez-vous pour commenter.


C.J. Harris
C.J. Harris le 30 Mar 2012
line(1,:)= [1 2 3 4 5 6 7 8 9 10];
line(2,:)= [1.3 -2.3 4.245 12.3 -4.5 9.43 8.34 -5.3 3.54 6.4];
[line(2,:), line(1,:)] = sort(line(2,:),'descend');
You also shouldn't really use 'line' as a variable name, since this is also an inbuild function, and might cause confusion if you don't clear the variable after use.
  1 commentaire
CHAITANYA PRASAD
CHAITANYA PRASAD le 1 Avr 2012
Thank u Chris...Actually i was using linerank...just for example i gave line...and it was very useful...:)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Types dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by