对向量进行排序并将已排序向量的条目索引存储在原始向量中

时间:2016-10-22 15:05:50

标签: matlab sorting

在matlab中,我有一个向量

 A = [2,3,4,1];

我想按升序对其进行排序,这将成为

 [B,index] = sort(A);
 B = 1,2,3,4 
 index = 4 1 2 3;

我有另一个载体

 C = [10,20,30,40]

我想使用索引让C成为

 [20 30 40 10]

然而,如果我只是做

 C(index)

变成

 40,10,20,30

这不是我想要的。我想知道有没有办法使用索引和排序来实现我的目标?

1 个答案:

答案 0 :(得分:0)

我想出了自己:

MM = [[1,2,3,4]', index'];
SM = sortrows(MM,2);
D = C(SM(:,1)')