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

2 Ansichten (letzte 30 Tage)
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].....

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 21 Mär. 2020
Bearbeitet: Ameer Hamza am 21 Mär. 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
.......

Weitere Antworten (0)

Kategorien

Mehr zu Shifting and Sorting Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by