Main Content

cummin

累积最小值

说明

示例

M = cummin(A) 返回 A 的累积最小元素。

  • 如果 A 是向量,则 M 是具有相同大小和类型的向量,并且包含 A 的累积最小值。

  • 如果 A 是矩阵,则 M 是具有相同大小和类型的矩阵,并且包含 A 的每列中的累积最小值。

  • 如果 A 是多维数组,则 M 是具有相同大小和类型的数组,并且包含沿 A 的第一个大小大于 1 的数组维度的累积最小值。

  • 如果 A 是表或时间表,则 cummin(A) 返回包含每个变量的累积最小值的表或时间表。 (自 R2023a 起)

示例

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

示例

M = cummin(___,direction) 可在上述任一语法的基础上指定计算方向。例如,cummin(A,2,"reverse") 通过从尾到头计算 A 的第二个维度返回 A 的累积最小值。

示例

M = cummin(___,nanflag) 指定忽略还是包括 A 中的 NaN 值。例如,cummin(A,"includenan") 在计算每个最小值时包含 NaN 值。默认情况下,cummin 忽略 NaN 值。

示例

全部折叠

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

v = randi([0,10],1,10)
v = 1×10

     8     9     1    10     6     1     3     6    10    10

M = cummin(v)
M = 1×10

     8     8     1     1     1     1     1     1     1     1

计算 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 = cummin(A)
M = 3×3

     3     5     2
     1     5     2
     1     5     1

计算 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 = cummin(A,2)
M = 3×3

     3     3     2
     1     1     1
     7     7     1

计算 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 = cummin(A,3,"reverse")
M = 
M(:,:,1) =

     1     2
     3     4


M(:,:,2) =

     5     6
     7     8


M(:,:,3) =

     5     6
     7     8

创建一个包含 NaN 值的矩阵。

A = [3 5 NaN 4; 2 6 2 9; 1 3 0 NaN]
A = 3×4

     3     5   NaN     4
     2     6     2     9
     1     3     0   NaN

计算矩阵的累积最小值,包括 NaN 值。对于包含任一 NaN 值的矩阵列,只要遇到第一个 NaN 值,累积最小值就是 NaN

M = cummin(A,"includenan")
M = 3×4

     3     5   NaN     4
     2     5   NaN     4
     1     3   NaN   NaN

输入参数

全部折叠

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

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

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

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

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

    cummin(A,1) column-wise operation

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

    cummin(A,2) row-wise operation

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

累积方向,指定为以下值之一:

  • "forward" - 从运算维度的 1end 运算。

  • "reverse" - 从运算维度的 end1 运算。

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

  • "omitmissing""omitnan" - 计算累积最小值时,忽略 A 中的 NaN 值。如果 A 有连续前导 NaN 值,则 M 中对应的元素是 NaN"omitmissing""omitnan" 具有相同的行为。

  • "includemissing""includenan" - 计算累积最小值时,包括 A 中的 NaN 值。只要在 A 中遇到第一个 NaN 值,M 中的元素就立即成为 NaN"includemissing""includenan" 具有相同的行为。

提示

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

扩展功能

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

GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。

版本历史记录

在 R2014b 中推出

全部展开

另请参阅

| | | | |