2015-07-21 53 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