按降序查找矩阵中的排名

时间:2013-12-02 12:19:02

标签: matlab

对于我之前的帖子中的混淆感到抱歉。我的问题意味着其他问题:

我有这样的人:

A = [2.4   1.2   4.1   3.1]

我正在寻找一种方法来“排列”A中的元素。也就是说,当我对这个数组进行排序(降序)时,我需要每个元素在原始数组A中具有的数组。例如, 4.1中A是最大元素,因此具有等级1.元素3.1是第二大,因此它具有等级2,依此类推。最后,我有这个:

A =     [2.4   1.2   4.1   3.1]
Ranks = [ 3     4     1     2 ]

我正在寻找一个例程来查找上面的“排名”。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

好的,我有解决方案。我可以通过这个命令找到排名:

  [A_sorted, rank] = sort(A, 'descend');
  for k=1:10
      rank = find(A_sorted == A(k));
  end