• Matlab 用sort函数排序 二维数组


    在Matlab中排序某个向量(一维)时,可以使用sort(A),其中A为待排序的向量,如果仅是用来排序A,那么直接使用sort(A)即可, 如果排序后还需要保留原来的索引可以用返回值,即[B,ind]=sort(A),计算后,B是A排序后的向量,A保持不变,ind是B中每一项对应于A 中项的索引。排序是按升序进行的。

    由于在sort函数的结果中,是按升序排序的,要转换成降序,先用X=eye(n)生成一个n维的单位阵,然后用X=rot90(X)将其旋转为次对角线的单位阵,再用原来矩阵乘以X即可,如要讲A逆序排列采用如下步骤:

    X=eye(size(A));
    X=rot90(X);
    A=A*X;

    假如a是一个2*n的矩阵,即两行.
    b=a(1,:);
    [c,pos]=sort(b);%pos为排序后的下标,c为第一行的排序结果;
    a(2,:)=a(2,pos);%第二行按照第一行排序的下标对应
    a(1,:)=c;%第一行结果重新赋给a 的第一行

    以下适用于m*n的矩阵按第一行排序
    [ b, pos ] = sort( a( 1, : ) );
    a = a( :, pos );

    matlab help:

    Syntax:

    B = sort(A)
    B = sort(A,dim)
    B = sort(...,mode)
    [B,IX] = sort(...)

  • 相关阅读:
    matlab std函数 用法及实例
    Matlab基本用法
    MATLAB — axis
    Matlab——plot polyfit polyval
    matlab知识点汇集
    Android环境搭建
    ipipe 环境下gpio中断产生死机的信息
    烧写AT91Bootstrap不能连接SAM-BA的解决方法
    u-boot 编译时间
    9x25 串口映射
  • 原文地址:https://www.cnblogs.com/emanlee/p/2294141.html
Copyright © 2020-2023  润新知