2015-07-21 52 views
1

我必须按降序排列矢量。我想在排序后得到矢量的索引。我假设我有一个从[1 2 3].索引的矢量A=[7 6 5]矢量A排序为[5 6 7]那么矢量A的排序索引将变化[3 2 1].其中3是5的索引首先,2是索引6 ...这些索引是根据排序后的A值排列的。如何在Matlab中完成。例如如何在排序后返回矢量的索引

A=[7 6 5] 
Index_A=[1 2 3] 
%Sort A 
A_sort=[5 6 7] 
Index_sort=[3 2 1] 

目前,我使用的函数

A_sort=sortrows(A')' 

但是排序后我不能达到向量的索引。

回答

2

这很简单:使用sort第二输出:

[A_sort, Index_sort] = sort(A); 
+0

干得+ 1 ... – Jame

+1

@ user8430这是Matlab的功能,例如一个相当普遍的特征'min','max','unique','ismember'等有类似的行为 – Dan

+0

是的。我只是认为该矢量被描述为行。因此,我只是找到解决方案作为sortrows功能。关于排序功能是非常好的一点 – Jame