ranking the data in matrix and arrange them as per rank.
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Karanvir singh Sohal
am 4 Apr. 2021
Kommentiert: Bruno Luong
am 4 Apr. 2021
Hello!
I have a matrix D and E
D=[1 2 3; 7 8 9; 4 5 6; 3 0 5];
E=[D sum(D')' ranks(sum(D')')]
output of E is
E = [ 1 2 3 6 1
7 8 9 24 4
4 5 6 15 3
3 0 5 8 2]
Ok now I have 2 doubts
- I want to rank(last column of E) in a way that highest(24) value in column 4 gets rank 1.
- I want sort the data in another matrix such that rank 1 row gets on top.
expected results
[7 8 9 24 1
4 5 6 15 2
3 0 5 8 3
1 2 3 6 4]
0 Kommentare
Akzeptierte Antwort
Bruno Luong
am 4 Apr. 2021
>> D=[1 2 3; 7 8 9; 4 5 6; 3 0 5];
E=[D sum(D')' ranks(sum(D')')]
Unrecognized function or variable 'ranks'.
Did you mean:
>> E=[D sum(D')']
E =
1 2 3 6
7 8 9 24
4 5 6 15
3 0 5 8
>> sortrows(E,-4)
ans =
7 8 9 24
4 5 6 15
3 0 5 8
1 2 3 6
I let youu deal with the last column, that is nothing more or less interesting than the row index of the array
2 Kommentare
Bruno Luong
am 4 Apr. 2021
as I said rank after sorting is
r = (1:size(D,1))'
It's a row index of your sorted array.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrices and Arrays 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!