MATLAB 数学与统计函数参考

MATLAB min 与 max 返回数组的最小值或最大值,也可同时返回位置。

语法

[m, idx] = min(A)
[m, idx] = max(A)
m = min(A, [], 'all')
m = min(A, B)   % 两个数组逐元素取小

输入参数

参数说明
A数值数组
B与 A 同尺寸的数组(逐元素比较)

输出

第一个输出是最值,第二个输出是最值位置(线性下标)。

示例

max([5 2 9 1 7])
ans = 9

取位置:

[m, idx] = max([5 2 9 1 7])
m = 9
idx = 3

矩阵全部最值(注意必须写占位 []):

M = [3 8; 9 1];
max(M, [], 'all')
ans = 9

逐元素取小(比如限制下限):

max([1 2 3], 1.5)
ans =
    1.5000    2.0000    3.0000

注意事项

  • 取矩阵每列最值默认返回每列一行;取全部最值必须带 [] 占位和 'all'
  • NaN 会影响结果,用 'omitnan' 可忽略。