康马克斯
累积最大值。
库::`工程师`
语法
函数调用
-
[参数:M]=cummax(___,[参数:nanflag])-确定是排除还是包含值南到阵列[参数:A]. 例如,cummax(A,"includenan")考虑到值南计算每个最大值时。 默认情况下康马克斯排除值南.
争论
输入参数
# 一个 — 输入数组
+
向量资料 | 矩阵 | 多维数组
Details
指定为向量、矩阵或多维数组的输入数组。 对于复杂元素,函数 康马克斯 比较它们的振幅。 如果振幅相等, 康马克斯 它还比较相位角。
| 数据类型 |
|
# 昏暗 — 执行操作的测量
+
正整数标量
Details
对其执行操作的维度,指定为正整数标量。 如果未指定维度,则默认使用数组的第一个维度,其大小不等于 1.
考虑二维输入数组 A:
-
康马克斯(A,1)使用列中的连续元素A并返回一个大小与A,在每列中具有累积最大值。 -
康马克斯(A,2)使用字符串中的连续元素A并返回一个大小与A,每行具有累积最大值。
康马克斯 申报表 A 如果 昏暗 超过 ndims(A).
# nanflag — 缺失值的条件
+
"省略" (默认情况下)| "omitnan" | "包括" | "包括"
例子:
向量中的累积最大值
Details
让我们找到一个大小随机整数向量的累积最大值 1 上 10.
import EngeeDSP.Functions: randi
v = randi([0,10],1,10)
1×10 Matrix{Float64}:
3.0 9.0 6.0 6.0 10.0 3.0 8.0 8.0 4.0 6.0
import EngeeDSP.Functions: cummax
M = cummax(v)
1×10 Matrix{Float64}:
3.0 9.0 6.0 6.0 10.0 3.0 8.0 8.0 4.0 6.0
矩阵列中的累积最大值
Details
让我们找到矩阵的列在大小上的累积最大值 3×3.
A = [3 5 2; 1 6 3; 7 8 1]
3×3 Matrix{Int64}:
3 5 2
1 6 3
7 8 1
import EngeeDSP.Functions: cummax
M = cummax(A)
3×3 Matrix{Float64}:
3.0 5.0 2.0
3.0 6.0 3.0
7.0 8.0 3.0
矩阵行中的累积最大值
Details
让我们找到具有大小的矩阵的行的累积最大值 3×3.
A = [3 5 2; 1 6 3; 7 8 1]
3×3 Matrix{Int64}:
3 5 2
1 6 3
7 8 1
import EngeeDSP.Functions: cummax
M = cummax(A, 2)
3×3 Matrix{Float64}:
3.0 5.0 5.0
1.0 6.0 6.0
7.0 8.0 8.0
反向累积最大值
Details
在数组的第三维中计算累积最大值 2×2×3. 我们会指明方向 "反向" 来计算从第三维结束到开始的值。
A = cat([1 2; 3 4], [9 10; 11 12], [5 6; 7 8]; dims=3)
2×2×3 Array{Int64, 3}:
[:, :, 1] =
1 2
3 4
[:, :, 2] =
9 10
11 12
[:, :, 3] =
5 6
7 8
import EngeeDSP.Functions: cummax
M = cummax(A, 3, "reverse")
2×2×3 Array{Float64, 3}:
[:, :, 1] =
9.0 10.0
11.0 12.0
[:, :, 2] =
9.0 10.0
11.0 12.0
[:, :, 3] =
5.0 6.0
7.0 8.0
累积最大值,包括缺失值
Details
创建包含值的矩阵 南.
A = [3 5 NaN 4; 2 6 2 9; 1 3 0 NaN]
3×4 Matrix{Float64}:
3.0 5.0 NaN 4.0
2.0 6.0 2.0 9.0
1.0 3.0 0.0 NaN
计算矩阵的累积最大值,包括值 南. 对于包含任何值的矩阵列 南,累计最大值变得相等 南 只要遇到第一个值 南.
import EngeeDSP.Functions: cummax
M = cummax(A, "includenan")
3×4 Matrix{Float64}:
3.0 5.0 NaN 4.0
3.0 6.0 NaN 9.0
3.0 6.0 NaN NaN