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

3 views (last 30 days)
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].....

Accepted Answer

Ameer Hamza
Ameer Hamza on 21 Mar 2020
Edited: Ameer Hamza on 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
.......

More Answers (0)

Community Treasure Hunt

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

Start Hunting!