ranking the data in matrix and arrange them as per rank.
    6 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 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!

