Sort matrix to get the row and column position of sorted matrix

2 vues (au cours des 30 derniers jours)
Elysi Cochin
Elysi Cochin le 21 Mar 2020
Modifié(e) : Ameer Hamza le 21 Mar 2020
how should i sort the matrix
M = [0,15,14,13,10,7,4,1,2;
0,0,9,6,4,12,1,3,1;
0,0,0,10,8,5,3,1,2;
0,0,0,0,17,2,11,1,4;
0,0,0,0,0,1,12,1,7;
0,0,0,0,0,0,1,7,5;
0,0,0,0,0,0,0,3,9;
0,0,0,0,0,0,0,0,8];
to get the sorted index positions as
[4,5], [1,2], [1,3], [1,4], [2,6], [5,7], [4,7], [1,5].....

Réponse acceptée

Ameer Hamza
Ameer Hamza le 21 Mar 2020
Modifié(e) : Ameer Hamza le 21 Mar 2020
[~,idx] = sort(M(:), 'descend');
idx(M(:)==0) = [];
[row, col] = ind2sub(size(M), idx);
indexes = [row col];
Result:
indexes =
4 5
1 2
1 3
1 4
2 6
5 7
4 7
3 4
1 5
.......

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices 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