matlab中sortrows的用法

sortrows有三种用法:
B = sortrows(A)
B = sortrows(A,column)
[B,index] = sortrows(A,...)

我们先创建一个矩阵
A=floor(gallery('uniformdata',[6 7],0)*100);
A(1:4,1)=95;  A(5:6,1)=76;  A(2:4,2)=7;  A(3,3)=73
A =
    95    45    92    41    13     1    84
    95     7    73    89    20    74    52
    95     7    73     5    19    44    20
    95     7    40    35    60    93    67
    76    61    93    81    27    46    83
    76    79    91     0    19    41     1

默认依据第一列的数值按升序移动每一行,如果第一列的数值有相同的,依次往右比较。例:
B = sortrows(A)
B =
    76    61    93    81    27    46    83
    76    79    91     0    19    41     1
    95     7    40    35    60    93    67
    95     7    73     5    19    44    20
    95     7    73    89    20    74    52
    95    45    92    41    13     1    84

或是从某一列开始比较数值并按升序排序,例:
C = sortrows(A,2)
C =
    95     7    73    89    20    74    52
    95     7    73     5    19    44    20
    95     7    40    35    60    93    67
    95    45    92    41    13     1    84
    76    61    93    81    27    46    83
    76    79    91     0    19    41     1

亦可以从某一列开始以降序排列,例:
D = sortrows(A, -4)
D =
    95     7    73    89    20    74    52
    76    61    93    81    27    46    83
    95    45    92    41    13     1    84
    95     7    40    35    60    93    67
    95     7    73     5    19    44    20
    76    79    91     0    19    41     1

如果要求每一列都按照升序排列
E=sort(A)

如果要求每一列都按照降序排列
F=-sort(-A)

你可能感兴趣的:(MATLAB)