目录
bounds函数的功能是返回数组的最小值和最大值。
语法
[minA,maxA] = bounds(A)
[minA,maxA] = bounds(A,"all")
[minA,maxA] = bounds(A,dim)
[minA,maxA] = bounds(A,vecdim)
[minA,maxA] = bounds(___,missingflag)
说明
[minA,maxA] = bounds(A) 返回数组中的最小值 minA 和最大值 maxA。minA 等效于 min(A),而 maxA 等效于 max(A)。
[minA,maxA] = bounds(A,"all") 计算 A 的所有元素的最小值和最大值。
[minA,maxA] = bounds(A,dim) 沿 A 的维度 dim 执行运算。例如,如果 A 是矩阵,则 bounds(A,2) 返回包含每行最小值和最大值的列向量 minA 和 maxA。
[minA,maxA] = bounds(A,vecdim) 基于向量 vecdim 中指定的维度计算最小值和最大值。例如,如果 A 是矩阵,则 bounds(A,[1 2]) 将返回 A 中所有元素的最小值和最大值,因为矩阵的每个元素都包含在由维度 1 和 2 定义的数组切片中。
[minA,maxA] = bounds(___,missingflag) 指定在上述任一语法的基础上是省略还是包含 A 中的缺失值。例如,bounds(A,"missingflag") 在计算最小值和最大值时会包括所有缺失值。默认情况下,bounds 会忽略缺失值。
示例
向量的最小值和最大值
同时计算向量的最小值和最大值。
A = [2 4 -1 10 6 3 0 -16];
[minA,maxA] = bounds(A)
minA = -16
maxA = 10
矩阵行的最小值和最大值
计算矩阵每行的最小值和最大值。
A = magic(4)
A = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
[minA,maxA] = bounds(A,2)
minA = 4×1
2
5
6
1
maxA = 4×1
16
11
12
15
数组页的边界
创建一个三维数组并计算每页数据(行和列)的最小值和最大值。
A(:,:,1) = [2 4; -2 1];
A(:,:,2) = [9 13; -5 7];
A(:,:,3) = [4 4; 8 -3];
[minA1,maxA1] = bounds(A,[1 2]);
minA1
minA1 =
minA1(:,:,1) =
-2
minA1(:,:,2) =
-5
minA1(:,:,3) =
-3
maxA1
maxA1 =
maxA1(:,:,1) =
4
maxA1(:,:,2) =
13
maxA1(:,:,3) =
8
要计算数组的所有维度的边界,可以在向量维度参数中指定每个维度,或使用 "all" 选项。
[minA2,maxA2] = bounds(A,[1 2 3])
minA2 = -5
maxA2 = 13
[minAall,maxAall] = bounds(A,"all")
minAall = -5
maxAall = 13
包括缺失值的边界
创建一个包含 NaN
值的矩阵。
A = [2 NaN 6 -5; 0 3 NaN 9]
A = 2×4
2 NaN 6 -5
0 3 NaN 9
计算矩阵的最小值和最大值,包括 NaN 值。对于包含任何 NaN 值的矩阵列,最小值和最大值为 NaN。
[minA,maxA] = bounds(A,"includenan")
minA = 1×4
0 NaN NaN -5
maxA = 1×4
2 NaN NaN 9