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'可忽略。