MATLAB 数学与统计函数参考

MATLAB sort 函数对数组排序,默认升序。矩阵默认逐列排,也可按行排。

语法

B = sort(A)
B = sort(A, 'descend')
B = sort(A, dim)
[ B, idx] = sort(A)   % 附带排序后的原下标

输入参数

参数说明
A数值数组或 cell 数组
dim排序维度(1 按列,2 按行)

输出

第一个输出是排序后的数组;第二个输出是每个元素在原数组中的下标。

示例

sort([23 45 12 9 5 0 19 17])
ans =
     0     5     9    12    17    19    23    45

降序:

sort([3 1 2], 'descend')
ans =
     3     2     1

矩阵按列 / 按行:

M = [2 6 4; 5 3 9; 2 0 1];
sort(M)      % 每列升序
sort(M, 2)   % 每行升序

附带原下标(了解谁排第几):

[v, idx] = sort([5 1 3])
v = 1 3 5
idx = 2 3 1

注意事项

  • 想按整行排序(如按成绩排学生整行),用 sortrows
  • 降序字符串数组用 'descend' 同样支持。