Ranking of an array.
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi, How can I do array rank of a matrix. Such that: [1,5; 7 9; 2 0] will produce [2 4; 5 6; 1 3]. I mean, all variables should be /ranked in an increment order. Lowest will be 1, the highest will be n
1 Kommentar
bym
am 9 Okt. 2011
how does [1,5; 7 9; 2 0] produce [2 4; 5 6; 1 3]?
I don't understand what your goal is
Akzeptierte Antwort
Jan
am 9 Okt. 2011
I assume, the result should be [2 4; 5 6; 3 1] with the last two elements swapped. The method is called sorting, not ranking.
M = [1,5; 7 9; 2 0];
[dummy, index] = sort(M(:));
R(index) = 1:numel(M);
R = reshape(R, size(M));
4 Kommentare
Andrei Bobrov
am 10 Okt. 2011
A = [6 7
7 3
4 1]
[a, ignore, c] = unique(A);
B = A;
a1 = 1:numel(a);
B(:) = a1(c)
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!