Sorting 2D matrix
21 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello all,
I'm troubling with sorting of the matrix. I have a matrix
A = 6.0000 18.0000 20.0000 23.0000 26.0000
3.1464 1.4302 2.9512 0.9988 2.7403
I need to sort the second row in ascending order. Simultaneously the first row also needs to be sorted according to the second row like
required matrix = 23.0000 18.0000 26.0000 20.0000 6.0000
0.9988 1.4302 2.7403 2.9512 3.1464
when I trying to use the sort command like sort(A,2), I'm getting
sort(A,2)=
6.0000 18.0000 20.0000 23.0000 26.0000
0.9988 1.4302 2.7403 2.9512 3.1464
Can you help me here. Thank you.
0 Commenti
Risposta accettata
dpb
il 4 Nov 2015
>> sortrows(A.',2).'
ans =
23.0000 18.0000 26.0000 20.0000 6.0000
0.9988 1.4302 2.7403 2.9512 3.1464
>>
2 Commenti
dpb
il 5 Nov 2015
Indeed! :) Converts the rows to columns since sortrows is limited to selecting columns by which to do the sorting.
The brute force way w/ sort would be two steps...
[~,ix]=sort(A(2,:)); % get the indices for sorting 2nd row
A=A(:,ix); % rearrange all by the column order
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Shifting and Sorting Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!