目录
max函数式是求数组的最大元素。
语法
M = max(A)
M = max(A,[],dim)
M = max(A,[],nanflag)
M = max(A,[],dim,nanflag)
[M,I] = max(___)
M = max(A,[],'all')
M = max(A,[],vecdim)
M = max(A,[],'all',nanflag)
M = max(A,[],vecdim,nanflag)
[M,I] = max(A,[],___,'linear')
C = max(A,B)
C = max(A,B,nanflag)
说明
M = max(A) 返回数组的最大元素。
如果 A 是向量,则 max(A) 返回 A 的最大值。
如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行向量。
如果 A 是多维数组,则 max(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度的大小将变为 1,而所有其他维度的大小保持不变。如果 A 是第一个维度长度为零的空数组,则 max(A) 返回与 A 大小相同的空数组。
M = max(A,[],dim) 返回维度 dim 上的最大元素。例如,如果 A 为矩阵,则 max(A,[],2) 是包含每一行的最大值的列向量。
M = max(A,[],nanflag) 指定在计算中包括还是忽略 NaN 值。例如,max(A,[],'includenan') 包括 A 中的所有 NaN 值,而 max(A,[],'omitnan') 忽略这些值。
M = max(A,[],dim,nanflag) 还指定使用 nanflag 选项时的运算维度。
[M,I] = max(___) 在上述语法基础上,还返回 A 中最大值在运算维度上的对应索引。
M = max(A,[],'all') 查找 A 的所有元素的最大值。此语法适用于 MATLAB® R2018b 及更高版本。
M = max(A,[],vecdim) 计算向量 vecdim 所指定的维度上的最大值。例如,如果 A 是矩阵,则 max(A,[],[1 2]) 计算 A 中所有元素的最大值,因为矩阵的每个元素都包含在由维度 1 和 2 定义的数组切片中。
M = max(A,[],'all',nanflag) 计算在使用 nanflag 选项时 A 的所有元素的最大值。
M = max(A,[],vecdim,nanflag) 指定在使用 nanflag 选项时要运算的多个维度。
[M,I] = max(A,[],___,'linear') 返回 A 中最大值在 A 中的对应线性索引。
C = max(A,B) 返回从 A 或 B 中提取的最大元素的数组。
C = max(A,B,nanflag) 还指定如何处理 NaN 值。
示例
向量中的最大元素
创建一个向量并计算其最大元素。
A = [23 42 37 18 52];
M = max(A)
M = 52
最大复数元素
创建一个复数向量并计算其最大元素,即具有最大幅值的元素。
A = [-2+2i 4+i -1-3i];
max(A)
ans = 4.0000 + 1.0000i
每个矩阵列中的最大元素
创建一个矩阵并计算每列中的最大元素。
A = [2 8 4; 7 3 9]
A = 2×3
2 8 4
7 3 9
M = max(A)
M = 1×3
7 8 9
每个矩阵行中的最大元素
创建一个矩阵并计算每行中的最大元素。
A = [1.7 1.2 1.5; 1.3 1.6 1.99]
A = 2×3
1.7000 1.2000 1.5000
1.3000 1.6000 1.9900
M = max(A,[],2)
M = 2×1
1.7000
1.9900
存在 NaN
时的最大元素
创建一个向量并计算其最大值,不包括 NaN 值。
A = [1.77 -0.005 3.98 -2.95 NaN 0.34 NaN 0.19];
M = max(A,[],'omitnan')
M = 3.9800
由于 'omitnan' 是默认选项,因此 max(A) 也将生成此结果。使用 'includenan' 标志可返回 NaN。
M = max(A,[],'includenan')
M = NaN
最大元素索引
创建一个矩阵 A
并计算每列中的最大元素,以及这些元素在 A
中显示的行索引。
A = [1 9 -2; 8 4 -5]
A = 2×3
1 9 -2
8 4 -5
[M,I] = max(A)
M = 1×3
8 9 -2
I = 1×3
2 1 1
数组页面的最大值
创建一个三维数组并计算每页数据(行和列)的最大值。
A(:,:,1) = [2 4; -2 1];
A(:,:,2) = [9 13; -5 7];
A(:,:,3) = [4 4; 8 -3];
M1 = max(A,[],[1 2])
M1 =
M1(:,:,1) =
4
M1(:,:,2) =
13
M1(:,:,3) =
8
从 R2018b 开始,要计算一个数组的所有维度上的最大值,可以在向量维参数中指定每个维度,或使用 'all' 选项。
M2 = max(A,[],[1 2 3])
M2 = 13
Mall = max(A,[],'all')
Mall = 13
返回线性索引
创建一个矩阵 A,并返回矩阵 M 中每行的最大值。使用 'linear' 选项还可以返回线性索引 I,满足 M = A(I)。
A = [1 2 3; 4 5 6]
A = 2×3
1 2 3
4 5 6
[M,I] = max(A,[],2,'linear')
M = 2×1
3
6
I = 2×1
5
6
maxvals = A(I)
maxvals = 2×1
3
6
最大元素比较
创建一个矩阵并返回其各个元素与标量相比的最大值。
A = [1 7 3; 6 2 9]
A = 2×3
1 7 3
6 2 9
B = 5;
C = max(A,B)
C = 2×3
5 7 5
6 5 9