文档帮助中心
NaN
本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。
数组的最大元素
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) 返回数组的最大元素。
M
A
如果 A 是向量,则 max(A) 返回 A 的最大值。
max(A)
如果 A 为矩阵,则 max(A) 是包含每一列的最大值的行向量。
如果 A 是多维数组,则 max(A) 沿大小不等于 1 的第一个数组维度计算,并将这些元素视为向量。此维度的大小将变为 1,而所有其他维度的大小保持不变。如果 A 是第一个维度长度为零的空数组,则 max(A) 返回与 A 大小相同的空数组。
1
M = max(A,[],dim) 返回维度 dim 上的最大元素。例如,如果 A 为矩阵,则 max(A,[],2) 是包含每一行的最大值的列向量。
dim
max(A,[],2)
M = max(A,[],nanflag) 指定在计算中包括还是忽略 NaN 值。例如,max(A,[],'includenan') 包括 A 中的所有 NaN 值,而 max(A,[],'omitnan') 忽略这些值。
nanflag
max(A,[],'includenan')
max(A,[],'omitnan')
M = max(A,[],dim,nanflag) 还指定使用 nanflag 选项时的运算维度。
[M,I] = max(___) 在上述语法基础上,还返回 A 中最大值在运算维度上的对应索引。
I
M = max(A,[],'all') 查找 A 的所有元素的最大值。此语法适用于 MATLAB® R2018b 及更高版本。
'all'
M = max(A,[],vecdim) 计算向量 vecdim 所指定的维度上的最大值。例如,如果 A 是矩阵,则 max(A,[],[1 2]) 计算 A 中所有元素的最大值,因为矩阵的每个元素都包含在由维度 1 和 2 定义的数组切片中。
vecdim
max(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
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 = 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 值。
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) 也将生成此结果。
'omitnan'
使用 'includenan' 标志可返回 NaN。
'includenan'
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)。
'linear'
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
输入数组,指定为标量、向量、矩阵或多维数组。
如果 A 是复矩阵,则 max(A) 返回幅值最大的复数。如果幅值相等,则 max(A) 返回具有最大幅值和最大相位角的值。
如果 A 是标量,则 max(A) 返回 A。
如果 A 为 0×0 空数组,则 max(A) 也是空数组。
如果 A 的类型为 categorical,则它必须是有序的。
categorical
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | categorical | datetime | duration 复数支持: 是
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
datetime
duration
沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。
维度 dim 表示长度减至 1 的维度。size(M,dim) 为 1,而所有其他维的大小保持不变,除非 size(A,dim) 为 0。如果 size(A,dim) 为 0,则 max(A,dim) 返回与 A 大小相同的空数组。
size(M,dim)
size(A,dim)
0
max(A,dim)
以一个二维输入数组 A 为例:
如果 dim = 1,则 max(A,[],1) 返回包含每列中的最大元素的行向量。
dim = 1
max(A,[],1)
如果 dim = 2,则 max(A,[],2) 返回包含每行中的最大元素的列向量。
dim = 2
如果 dim 大于 ndims(A),则 max 返回 A。
ndims(A)
max
维度向量,指定为正整数向量。每个元素代表输入数组的一个维度。指定的操作维度的输出长度为 1,而其他保持不变。
以 2×3×3 输入数组 A 为例。然后 max(A,[],[1 2]) 返回 1×1×3 数组,其元素是在 A 的每个页面上计算的最大值。
数据类型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
其他输入数组,指定为标量、向量、矩阵或多维数组。数值输入 A 和 B 必须具有相同的大小或兼容的大小(例如,A 是 M×N 矩阵,B 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
N
如果 A 和 B 是日期时间、持续时间或分类数组,则它们必须具有相同的大小,除非其中一个为标量。
A 和 B 的数据类型必须相同,除非其中一个是 double。如果是那样,另一个数组的数据类型可以是 single、duration 或任何整数类型。
如果 A 和 B 均为有序分类数组,则必须具有相同的类别集(具有相同的顺序)。
NaN 条件,指定为下列值之一:
'omitnan' - 忽略输入中的所有 NaN 值。如果所有元素均为 NaN,则 max 返回第一个元素。
'includenan' - 在计算输入中包括 NaN 值。
对于 datetime 数组,还可以使用 'omitnat' 或 'includenat' 分别忽略和包含 NaT 值。
'omitnat'
'includenat'
NaT
对于 categorical 数组,还可以使用 'omitundefined' 或 'includeundefined' 分别忽略和包含未定义的值。
'omitundefined'
'includeundefined'
数据类型: char
char
最大值,以标量、向量、矩阵或多维数组形式返回。size(M,dim) 为 1,而所有其他维度的大小与 A 中的相应维度的大小匹配,除非 size(A,dim) 为 0。如果 size(A,dim) 为 0,则 M 是大小与 A 相同的空数组。
索引,以标量、向量、矩阵或多维数组形式返回。I 的大小与第一个输出相同。
当未指定 'linear' 时,I 是运算维度上的索引。当指定了 'linear' 时,I 包含最大值在 A 中的对应线性索引。
如果最大元素出现多次,则 I 包含值的第一次出现位置的索引。
A 或 B 中的最大元素,以标量、向量、矩阵或多维数组的形式返回。C 的大小由 A 和 B 的维度的隐式扩展决定。有关详细信息,请参阅基本运算的兼容数组大小。
C 的数据类型取决于 A 和 B 的数据类型:
如果 A 和 B 是相同的数据类型,则 C 与 A 和 B 的数据类型匹配。
如果 A 或 B 为 single,则 C 为 single。
如果 A 或 B 为整数数据类型且另一个为标量 double,则 C 采用整数数据类型。
此函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
用法说明和限制:
如果指定 dim,则它必须为常量。
请参阅Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder)。
请参阅具有零值虚部的复数数据的代码生成 (MATLAB Coder)。
此函数完全支持 GPU 数组。有关详细信息,请参阅Run MATLAB Functions on a GPU (Parallel Computing Toolbox)。
此函数完全支持分布式数组。有关详细信息,请参阅Run MATLAB Functions with Distributed Arrays (Parallel Computing Toolbox)。
bounds | islocalmax | maxk | mean | median | min | sort
bounds
islocalmax
maxk
mean
median
min
sort
您的系统上存在此示例的修改版本。是否要打开此版本?
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office