MATLAB Answers

ranking the data in matrix and arrange them as per rank.

1 view (last 30 days)
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
  1. I want to rank(last column of E) in a way that highest(24) value in column 4 gets rank 1.
  2. 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]

Accepted Answer

Bruno Luong
Bruno Luong on 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 Comments
Bruno Luong
Bruno Luong on 4 Apr 2021
as I said rank after sorting is
r = (1:size(D,1))'
It's a row index of your sorted array.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!