Ranking Numbers based on Size

3 Ansichten (letzte 30 Tage)
ScGold
ScGold am 12 Feb. 2019
Kommentiert: Jos (10584) am 15 Feb. 2019
I have a large dataset of numbers, and am attempting to assign a number to each of them -- ranking smallest to largest.
A = [1 5 0 9 6 4]
The following is an example, where the numbers on the right are from the row vector 'A', and the numbers on the right are "assigned" based on how large the numbers are:
1 -- 2
5 -- 4
0 -- 1
9 -- 6
6 -- 5
4 -- 3
Thank you!

Akzeptierte Antwort

Jos (10584)
Jos (10584) am 12 Feb. 2019
A = [1 5 0 9 6 4]
[~, ~, R] = unique(A)
  1 Kommentar
ScGold
ScGold am 13 Feb. 2019
Thank you!
An issue I'm having is keeping NaNs as non-values rather than assigning one to them, but will work through this.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jos (10584)
Jos (10584) am 12 Feb. 2019
Another, computationally simpler option:
A = [1 5 0 9 6 4]
[~, R] = sort(A) ;
R(R) = 1:numel(A)

Community Treasure Hunt

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

Start Hunting!

Translated by