Ranking of an array.

4 vues (au cours des 30 derniers jours)
Abdullah Muratoglu
Abdullah Muratoglu le 9 Oct 2011
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 commentaire
bym
bym le 9 Oct 2011
how does [1,5; 7 9; 2 0] produce [2 4; 5 6; 1 3]?
I don't understand what your goal is

Connectez-vous pour commenter.

Réponse acceptée

Jan
Jan le 9 Oct 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 commentaires
Andrei Bobrov
Andrei Bobrov le 10 Oct 2011
A = [6 7
7 3
4 1]
[a, ignore, c] = unique(A);
B = A;
a1 = 1:numel(a);
B(:) = a1(c)
Abdullah Muratoglu
Abdullah Muratoglu le 10 Oct 2011
perfect!
Thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Shifting and Sorting Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by