Matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用 [a,b] = sort(A) ,排序后,a是排序好的向量,b 是 向量a中对 A 的索引。并且在matlab中~表示占位,所以运算结果之后矩阵b就表示向量a 中对 A 的索引,而索引的意思也就是位置,如
A=[1,2,3,4;5,2,6,3;4,5,2,1;4,8,7,5];
c=sort(A);
[d,b]=sort(A);
输出后
A =
1 2 3 4 5 2 6 3 4 5 2 1 4 8 7 5 1234
c =
1 2 2 1 4 2 3 3 4 5 6 4 5 8 7 5 1234
b =
1 1 3 3 3 2 1 2 4 3 2 1 2 4 4 4 1234
b中元素就是c中元素在A中的对应位置(按照列向量对应)