How to give ranking from highest to lowest
332 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mekala balaji
am 6 Dez. 2014
Kommentiert: amrith sg
am 31 Mär. 2022
Hello, I have number like
Data=[5 6 9 1 5 2]
I want to rank them as: [3 2 1 6 4 5] Can any please help me How can I do this. Thanks in advance.
1 Kommentar
amrith sg
am 31 Mär. 2022
i got a average accuracy 79% at rank 1
from rank 2 to rank 10 , i need to find different average accuracy that should be greater than 79%
please give me the code regarding this problem
Akzeptierte Antwort
Roger Stafford
am 6 Dez. 2014
This should give you the rank you are asking for, Mekala:
[~,p] = sort(Data,'descend');
r = 1:length(Data);
r(p) = r;
'r' will be the ranking.
0 Kommentare
Weitere Antworten (3)
Azzi Abdelmalek
am 6 Dez. 2014
Bearbeitet: Azzi Abdelmalek
am 6 Dez. 2014
Data=[5 6 9 1 5 2]
[sd,r]=sort(Data,'descend')
sd % sorted data
r % the corresponding indices
5 Kommentare
Azzi Abdelmalek
am 6 Dez. 2014
We can get the result by sorting the indices resulting from the first sort
Data=[5 6 9 1 5 2]
[~,ii]=sort(Data,'Descend')
[~,r]=sort(ii)
Sandeep Sai Kiran
am 9 Feb. 2021
Data =[4 8 9 4 7 4] Kal = sort(Data , 'Descend') Kapil =sort(Kal)
0 Kommentare
Zalán Kocsis
am 2 Jun. 2021
Here's one that assigns the same rank to same values (ties):
Data=[5 6 9 1 5 2];
[C,~,ic] = unique(Data,'sorted'); % ic are ranks from lowest to highest ; C are unique values
r=(1+max(ic)-ic); % r: rank (highest receives 1; lowest receives length(C); tied values receive same rank)
[Data;r']
Siehe auch
Kategorien
Find more on Interpolation in Help Center and File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!