Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

MinMax

输出最小或最大输入值

  • 库:
  • Simulink / Math Operations

    HDL Coder / Math Operations

  • MinMax block

说明

MinMax 模块输出输入的最小或最大元素。您可以通过设置 Function 参数来选择模块是否输出最小值或最大值。

MinMax 模块将忽略类型为 NaN 的任何输入值,除非每个输入值为 NaN。当所有输入值均为 NaN 时,输出为 NaN,要么是标量,要么是每个输出向量元素的值。

端口

输入

全部展开

提供输入信号,模块根据该输入信号输出最大值或最小值。

  • 如果模块只有一个输入端口,则输入必须为标量或向量。模块将输出等于输入向量的最小或最大元素的标量。

  • 如果模块有多个输入端口,则所有非标量输入都必须具有相同的维度。模块会扩展任何标量输入,使其与非标量输入具有相同的维度。模块将输出与输入具有相同维度的信号。每个输出元素等于对应输入元素的最小值或最大值。

依存关系

要支持矩阵输入,您必须将 Number of input ports 参数设置为大于 1 的整数。所有的非标量输入信号必须具有相同的维度。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

提供输入信号,模块根据该输入信号输出最大值或最小值。

如果模块有多个输入端口,则所有非标量输入都必须具有相同的维度。模块会扩展任何标量输入,使其与非标量输入具有相同的维度。模块将输出与输入具有相同维度的信号。每个输出元素等于对应输入元素的最小值或最大值。

依存关系

要提供多个输入信号,请将 Number of input ports 设置为大于 1 的整数。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

输出

全部展开

当模块有一个输入时,输出是标量值,该标量等于输入元素的最小值或最大值。当模块有多个输入时,输出是与输入具有相同维度的信号。每个输出元素等于对应输入元素的最小值或最大值。

数据类型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

参数

全部展开

Main

指定对输入应用 min 函数还是 max 函数。

编程用法

模块参数:Function
类型:字符向量
值:'min' | 'max'
默认值:'min'

指定模块的输入数目。

编程用法

模块参数:Inputs
类型:字符向量
值:positive integer
默认值:'1'

选择此项以启用过零检测。有关详细信息,请参阅 中的过零检测

编程用法

模块参数ZeroCross
类型:字符向量、字符串
'off' | 'on'
默认值'on'

将采样时间指定为 -1 以外的值。有关详细信息,请参阅指定采样时间

依存关系

此参数不可见,除非将其显式设置为 -1 以外的值。要了解详细信息,请参阅不建议设置采样时间的模块

编程用法

模块参数:SampleTime
类型:字符向量
值:标量或向量
默认值:'-1'

Signal Attributes

选中此复选框将要求所有输入具有相同的数据类型。

编程用法

模块参数:InputSameDT
类型:字符向量
值:'off' | 'on'
默认值:'off'

Simulink® 检查的输出范围的下限值。

Simulink 使用最小值执行下列操作:

注意

Output minimum 不会饱和或剪切实际输出信号。请改用 Saturation 模块。

编程用法

模块参数OutMin
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

Simulink 检查的输出范围的上限值。

Simulink 使用最大值执行下列操作:

注意

Output maximum 不会饱和或剪切实际输出信号。请改用 Saturation 模块。

编程用法

模块参数OutMax
类型:字符向量
'[ ]'| 标量
默认值'[ ]'

为输出选择数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType

点击 Show data type assistant 按钮 以显示 Data Type Assistant,帮助您设置数据类型属性。有关详细信息,请参阅使用 Data Type Assistant 指定数据类型

依存关系

当输入是小于单精度的浮点数据类型时,“Inherit:Inherit via internal rule” 输出数据类型取决于 Inherit floating-point output type smaller than single precision 配置参数的设置。当对数据类型编码所需的位数小于对单精度数据类型编码所需的 32 位时,数据类型小于单精度。例如,halfint16 小于单精度。

编程用法

模块参数OutDataTypeStr
类型:字符向量
'Inherit: Inherit via internal rule' | 'Inherit: Inherit via back propagation' | 'Inherit: Same as first input' | 'single' | “'half'” | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>'
默认值'Inherit: Inherit via internal rule'

选择此参数可防止定点工具覆盖您在模块上指定的 Output 数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)

编程用法

模块参数:LockScale
类型:字符向量
值:'off' | 'on'
默认值:'off'

指定定点运算的舍入模式。有关详细信息,请参阅Rounding (Fixed-Point Designer)

模块参数始终舍入到最接近的可表示值。要控制模块参数的舍入方法,请在封装字段中使用 MATLAB® 舍入函数输入表达式。

编程用法

模块参数:RndMeth
类型:字符向量
值:'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero'
默认值:'Floor'

指定对溢出是进行饱和处理还是绕回处理。

操作原理说明对溢出的影响示例

选中此复选框 (on)。

您的模型可能有溢出,并且您希望在生成的代码中具有显式饱和保护。

将溢出饱和处理为数据类型能够表示的最小值或最大值。

int8(有符号 8 位整数)数据类型可以表示的最大值为 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。如果选中此复选框,模块输出将在达到 127 时饱和。类似地,模块输出将在达到最小输出值 -128 时饱和。

不选中此复选框 (off)。

您需要优化所生成代码的效率。

您希望避免过度地指定信号超出范围时的处理方式。有关详细信息,请参阅信号范围错误故障排除

溢出会绕回到由数据类型表示的适当值。

int8(有符号 8 位整数)数据类型可以表示的最大值为 127。任何大于此最大值的模块运算结果都会导致 8 位整数溢出。清除该复选框时,软件会将导致溢出的值解释为 int8,这可能产生意外结果。例如,以 int8 表示的模块结果 130(二进制 1000 0010)为 -126。

如果选中此复选框,饱和将应用于模块中的每个内部操作,而不仅仅应用于输出或结果。通常,代码生成过程可以检测何时不会发生溢出。在这种情况下,代码生成器不会生成饱和代码。

编程用法

模块参数:SaturateOnIntegerOverflow
类型:字符向量
值:'off' | 'on'
默认值:'off'

模块特性

数据类型

Boolean | double | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

扩展功能

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

PLC 代码生成
使用 Simulink® PLC Coder™ 生成结构化文本代码。

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

在 R2006a 之前推出