Engee 文档

Divide

执行标量和非标量的乘除运算。

类型: Product

Divide

图书馆中的路径:

/Basic/Math Operations/Divide

Product

图书馆中的路径:

/Basic/Math Operations/Product

Product of Elements

图书馆中的路径:

/Basic/Math Operations/Product of Elements

说明

Divide 程序块输出输入信号的乘除结果。

程序块图标、要执行的操作和端口数根据 MultiplicationNumber of inputs 参数值的不同而变化。

该表显示了 Divide 程序块使用程序块参数值对近似输入数据的输出结果:

  • Multiplication : Element-wise(.*)

  • Number of inputs : */

输入数据^ 块行为

scalar ÷ scalar

输出第一个输入标量除以第二个输入标量的结果。

scalar ÷ non-scalar

输出与输入非标量具有相同维度的非标量。输出非标量的每个元素都是输入标量除以输入非标量相应元素的结果。

nonscalar ÷ nonscalar

输出与输入数据具有相同维度的非标量。输出数据的每个元素都是第一个输入非标量的元素除以第二个输入非标量的相应元素的结果。

Block Divide can:

  • 对任意数量的标量、矢量或矩阵输入进行数值乘除运算。

  • 对任意数量的矩阵输入进行矩阵乘除运算。

Divide 程序块根据参数 Multiplication 的值,执行分段或矩阵乘除运算。程序块接受一个或多个输入数据流,具体取决于参数 Number of inputs 。参数 Number of inputs 还定义了每个输入要执行的运算。

程序块 Divide 的输入数据可以是标量、矢量和矩阵的任意组合,要执行的运算在数学上有明确的结果。程序块对输入数据执行指定操作,然后输出结果。

Divide 程序块有两种模式:

  • Element-wise(.*)- 逐元素处理非标量输入数据。

  • Matrix(*)- 以矩阵形式处理非标量输入数据。

逐元素模式

Multiplication 设置为 Element-wise(.*)`时, Divide 程序块将处理任何非标量输入数据中的单个数字元素。在 `Element-wise(.*) Divide 块可以执行各种乘法、除法和算术反转运算。

Number of inputs 参数的值既决定了输入数据的数量,也决定了每个数据是被乘还是被除以形成输出数据。

Divide 块处于 `Element-wise(.*)`且只有一个输入时,其操作方法如第 算法.

为了计算输出,程序块首先将所有输入扩展为单一大小(使用标准广播),然后执行逐元素操作。

本表显示了 Divide 程序块在使用 Number of inputs 参数指定值的情况下对示例输入的输出。

Значения параметра 示例

Number of inputs : 2

divide 1

Number of inputs : */

divide 2

Number of inputs : /**/

divide 3

Number of inputs : **

divide 4

Number of inputs : /

divide 5

矩阵模式

当参数 Multiplication 的值等于 `Matrix(*)`时, Divide 程序块将处理矩阵形式的非标量输入数据。在这种模式下, Divide 程序块可以反转单个方阵,或乘除任意数量的矩阵,这些矩阵的维数是用数学定义的。

参数 Number of inputs 的值既决定了现有输入数据的数量,也决定了每个输入矩阵是相乘还是相除以形成输出数据。 Number of inputs 的语法与 mode 相同 Element-wise(.*).模式之间的区别在于乘法和除法的类型。

程序块输入和模式之间的交互

程序块输入 Divide 与模式 Multiplication 之间的交互作用 :

  • 参数 Number of inputs 设置为 1*/

    程序块有一个输入端口。在模式 Element-wise(.*)`部分所述,程序块将处理输入数据。 算法.在模式 `Matrix(*)`中,如果参数值为 `1*,程序块将输出输入值。如果参数值为 /,输入数据必须是方阵(包括作为退化情况的标量),程序块将输出逆矩阵。更多信息,请参阅 逐元素模式и 矩阵模式.

  • 参数 Number of inputs 设置为整数值 > 1

    程序块的输入数据个数由整数值指定。输入数据在 Element-wise(.*)`或 `Matrix(*) Multiplication 模式下相乘。更多信息,请参见 逐元素模式и 矩阵模式.

  • Number of inputs 参数指定由两个或多个 */ 字符组成的无引号字符串

    程序块的输入数量取决于字符向量的长度。与 字符对应的每个输入信号都与一个输出信号相乘。与符号 / 相对应的每个输出信号除以输入信号。运算以 Element-wise(.*)`或 `Matrix(*) *Multiplication 模式下进行。更多信息,请参阅 逐元素模式и 矩阵模式.

港口

输出

# OUT_1 — 输出信号
标量 | 向量 | 矩阵

Details

通过乘或除输入信号计算得出的输出信号。

数据类型

Float16、Float32、Float64、Int8、Int16、Int32、Int64、Int128、UInt8、UInt16、UInt32、UInt64、UInt128、Bool、Fixed。

复数支持

输入

# x — 乘法输入信号
标量 | 向量 | 矩阵

Details

用于与其他输入信号相乘的输入信号。

依赖关系

要使用一个或多个 x 端口,请为 Number of inputs 指定一个或多个 字符,并将 *Multiplication 设置为 Element-wise(.*).

要使用一个或多个 * 端口,请为 Number of inputs 指定一个或多个 字符,并将 *Multiplication 设置为 . Matrix(*).

数据类型

Float16, Float32, Float64, Int8, Int16, Int32, Int64, Int128, UInt8, UInt16, UInt32, UInt64, UInt128, Fixed, Bool .

复数支持

# / — 用于除法或反转的输入信号
标量 | 向量 | 矩阵

Details

用于除法或反转运算的输入信号。

依赖关系

要使用一个或多个 ÷ 端口,请为 Number of inputs 参数指定一个或多个 / 字符,并将 Multiplication 参数设置为 Element-wise(.*).

要使用一个或多个 Inv 端口,请为 Number of inputs 指定一个或多个 / 字符,并将 Multiplication 设置为 . Matrix(*).

数据类型

Float16`、Float32`、Float64`、Int8`、Int16`、Int32`、Int64`、Int128`、UInt8`、UInt16`、UInt32`、UInt64`、UInt128`、Fixed`、Bool`。

复数支持

参数

# Number of inputs — 输入端口的数量和名称以及操作类型

Details

程序块执行的运算:乘法或除法。

默认值

程序使用名称

Inputs

可调谐

可计算

# Multiplication — 乘法类型
Element-wise(.) | Matrix()

Details

指定程序块执行乘法或除法的模式 Element-wise(.*)`或 `Matrix(*).

更多信息,请参阅元素模式矩阵模式

Element-wise(.) | Matrix()

默认值

Element-wise(.*)

程序使用名称

Multiplication

可调谐

可计算

输出设置

# Output data type — 输出数据类型
Inherit: auto | Same as first input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

Details

指定输出数据的类型。类型可以继承或直接指定。

Inherit: auto | Same as first input | Float64 | Float32 | Float16 | Int8 | UInt8 | Int16 | UInt16 | Int32 | UInt32 | Int64 | UInt64 | Int128 | UInt128 | Fixed-point

默认值

Inherit: auto

程序使用名称

OutDataTypeStr

可调谐

可计算

# Output fixed-point type — 定点输出数据类型
Data type

Details

指定定点输出数据类型。

依赖关系

要使用该选项,请将 Output data type 设为 。 Fixed-point.

默认值

fixdt(1, 16, 0)

程序使用名称

OutDataTypeStrFixed

可调谐

可计算

主模式

# Integer rounding mode — 定点操作的四舍五入模式
Ceiling | Convergent | Floor | Nearest | Round | Zero

Details

选择定点运算的舍入模式。您可以选择

  • Floor- 将正数和负数向下舍入(向负无穷)。

  • Ceiling- 将正数和负数向上舍入(向正无穷舍入)。

  • Convergent- 将数字四舍五入到最接近的可表示值。如果一个数字的小数部分以 5 结尾,则该数字四舍五入为最接近的偶数整数。

  • Nearest- 将数字舍入到最接近的可表示值。如果数字的小数部分以 5 结尾,则数字向上舍入(向正无穷)。

  • Round- 将数字四舍五入到最接近的可表示值。如果数字的小数部分以 5 结尾,正数向上舍入(向正无穷),负数向下舍入(向负无穷)。

  • Zero- 将数字向 0 舍入。

Ceiling | Convergent | Floor | Nearest | Round | Zero

默认值

Floor

程序使用名称

RndMeth

可调谐

可计算

# Saturate on integer overflow — 溢出动作方法
Logical

Details

选中时,饱和将应用于所有内部块操作,而不仅仅是输出或结果。

操作a 执行此操作的原因a 溢出时会发生什么情况 示例

选中此复选框。a

模型中可能出现溢出,您需要在生成的代码中提供显式饱和保护。

溢出将饱和到该数据类型可表示的最小值或最大值。a

与有符号 8 位整数相关的溢出可能饱和到 -128127

请勿选择此复选框。

您希望优化生成代码的效率。
您希望避免过度指定程序块如何处理超出范围的信号。

溢出会被包裹在一个可由数据类型表示的适当值中。a

数字 130 无法放入有符号的 8 位整数中,因此被折叠为 -126

默认值

false (关掉)

程序使用名称

SaturateOnIntegerOverflow

可调谐

可计算

# Require all inputs to have the same data type — 所有输入均为同一数据类型的模式
Logical

Details

选择此复选框可为所有输入端口设置相同的数据类型。

默认值

false (关掉)

程序使用名称

InputSameDT

可调谐

可计算

算法

Divide 有一个输入,模式为 `Element-wise(.*)`使用以下算法对输入数据进行逐元素运算:

输入数据 逐元素运算 算法

一个有效的标量,

乘法

除法

一个有效的元素向量或矩阵,

乘法

除法

复杂标量,

乘法

除法

有元素的复向量或矩阵,

乘法

除法

附加选项

C 代码生成: 是