Issues using index to rank rows of a matrix
1 view (last 30 days)
Show older comments
Hello,
I have the following simple array:
data = [5.35;4.99;4.77;5.13;3.84];
I am trying to use the sort or sortrows function to provide an index or ranking of the rows, such that row 1 would be assigned a '1', row 2 a '3', row 3 a '4', row 4 a '2', and row 5 a '5'.
I am using the following code:
[~,index] = sortrows(data,'descend');
This returns the following ranking, which is incorrect: 1, 4, 2, 3, 5
Is there a solution to get the index output to return the ranking I am seeking?
Thanks,
John
2 Comments
dpb
on 6 May 2020
Well, what's the logic behind assigning those indices? They're not based on sorting the input array by value, either ascending nor descending, but some other seemingly more-or-less arbitrary rule.
Can only code what can define first...
Star Strider
on 6 May 2020
What criteria are you using to get that ranking? Perhaps I’m missing something, however I don’t see any underlying pattern that would suggest the ranking you want.
Accepted Answer
John Harry
on 6 May 2020
4 Comments
Star Strider
on 6 May 2020
That might have helped to respond to the original problem.
Since it’s solved now, it is of historical interest only.
More Answers (0)
See Also
Categories
Find more on Matrices and Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!