本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

cummax

累积最大值

说明

示例

M = cummax(A) 返回 A 的累积最大元素。默认情况下,cummax(A) 沿其大小不为 1 的第一个数组维度运算。

  • 如果 A 为向量,则 cummax(A) 返回一个包含 A 的累积最大值的等大小向量。

  • 如果 A 是矩阵,则 cummax(A) 返回一个等大小的矩阵,其中包含 A 的各列中的累积最大值。

  • 如果 A 是多维数组,则 cummax(A) 沿 A 的大小不为 1 的第一个数组维度返回一个等大小的数组,其中包含累积最大值。

示例

M = cummax(A,dim) 返回沿维度 dim 的累积最大值。例如,如果 A 是矩阵,则 cummax(A,2) 沿 A 的各行返回累积最大值。

示例

M = cummax(___,direction) 可选择性地使用上述任何语法指定方向。必须指定 A,也可以指定 dim。例如,cummax(A,2,'reverse') 通过从尾到头计算 A 的第二个维度返回 A 的累积最大值。

示例

M = cummax(___,nanflag) 指定在上述任意语法的计算中包括还是忽略 NaN 值。cummax(A,'includenan') 会在计算中包括所有 NaN 值,而 cummax(A,'omitnan') 则忽略这些值。

示例

全部折叠

计算 1×10 随机整数向量的累积最大值。

v = randi(10,1,10)
v = 1×10

     9    10     2    10     7     1     3     6    10    10

M = cummax(v)
M = 1×10

     9    10    10    10    10    10    10    10    10    10

计算 3×3 矩阵的各列的累积最大值。

A = [3 5 2; 1 6 3; 7 8 1]
A = 3×3

     3     5     2
     1     6     3
     7     8     1

M = cummax(A)
M = 3×3

     3     5     2
     3     6     3
     7     8     3

计算 3×3 矩阵的各行的累积最大值。

A = [3 5 2; 1 6 3; 7 8 1]
A = 3×3

     3     5     2
     1     6     3
     7     8     1

M = cummax(A,2)
M = 3×3

     3     5     5
     1     6     6
     7     8     8

计算 2×2×3 数组的第三个维度中的累积最大值。将 direction 指定为 'reverse' 可从第三个维度的末尾向开头运算。

A = cat(3,[1 2; 3 4],[9 10; 11 12],[5 6; 7 8])
A = 
A(:,:,1) =

     1     2
     3     4


A(:,:,2) =

     9    10
    11    12


A(:,:,3) =

     5     6
     7     8

M = cummax(A,3,'reverse')
M = 
M(:,:,1) =

     9    10
    11    12


M(:,:,2) =

     9    10
    11    12


M(:,:,3) =

     5     6
     7     8

创建一个包含 NaN 值的向量,并计算累积最大值。默认情况下,cummax 忽略 NaN 值。

A = [3 5 NaN 9 0 NaN];
M = cummax(A)
M = 1×6

     3     5     5     9     9     9

如果您在计算中包括 NaN 值,则只要在 A 中遇到第一个 NaN 值,累积最大值将立即成为 NaN

M = cummax(A,'includenan')
M = 1×6

     3     5   NaN   NaN   NaN   NaN

输入参数

全部折叠

输入数组,指定为向量、矩阵或多维数组。对于复数元素,cummax 比较这些元素的幅值。如果幅值相等,则 cummax 还比较相位角。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration
复数支持:

沿其运算的维度,指定为正整数标量。如果未指定值,则默认值是大小不等于 1 的第一个数组维度。

以一个二维输入数组 A 为例:

  • cummax(A,1) 处理 A 的各列中的连续元素并返回一个与 A 等大小的包含各列中的累积最大值的数组。

  • cummax(A,2) 处理 A 的各行中的连续元素并返回一个与 A 等大小的包含各行中的累积最大值的数组。

如果 dim 大于 ndims(A),则 cummax 返回 A

累积方向,指定为 'forward'(默认值)或 'reverse'

  • 'forward' 从活动维度的 1end 运算。

  • 'reverse' 从活动维度的 end1 运算。

数据类型: char

NaN 条件,指定为下列值之一:

  • 'omitnan' - 忽略输入中的所有 NaN 值。如果输入有连续前导 NaN 值,则 cummax 在对应的输出元素中返回 NaN。例如,cummax([NaN 7 13 6],'omitnan') 返回行向量 [NaN 7 13 13]

  • 'includenan' - 计算累积最大值时包括来自输入的 NaN 值,在输出中得到 NaN 值。

数据类型: char

输出参数

全部折叠

累积最大值,以向量、矩阵或多维数组形式返回。M 的大小和数据类型与 A 的相同。

提示

  • 利用许多累积函数中的 'reverse' 选项可以快速执行定向计算,而不需要翻转或反射输入数组。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

另请参阅

| | | | |

在 R2014b 中推出