matlab排序

来源:互联网 发布:互盾苹果数据恢复软件 编辑:程序博客网 时间:2024/05/22 00:29

matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用 [sA,index] = sort(A) ,排序后,sA是排序好的向量,index 是 向量sA 中对 A 的索引。 索引使排列逆运算成为可能。

       有久没有用Matlab都忘了。。。。。

       事实上,这里sA(index) , [A恒等于sA(index)],这个结论确实很奇妙,而且很有用。不信你排序之后试下键入命令sA(index) ,看看得到的是不是就是排列前的A呢。[因为鸿1018问到这个问题,特此补写这一段2008-10-20 13:18 +

      对于一般矩阵An*m(n,m均大于等于2),只要修正一下index的值,结论sA(index) ≡ A仍然成立,修正代码如下:
      s=size(A);
      for k=1:s(2)
           index(:,k)=index(:,k)+(k-1)*s(1);
      end

原创粉丝点击