Divide
执行标量和非标量的乘除运算。
类型: Product
Divide 图书馆中的路径:
|
|
Product 图书馆中的路径:
|
|
Product of Elements 图书馆中的路径:
|
说明
Divide 程序块输出输入信号的乘除结果。
程序块图标、要执行的操作和端口数根据 Multiplication 和 Number 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 : |
|
Number of inputs : |
|
Number of inputs : |
|
Number of inputs : |
|
Number of inputs : |
矩阵模式
当参数 Multiplication 的值等于 `Matrix(*)`时, Divide 程序块将处理矩阵形式的非标量输入数据。在这种模式下, Divide 程序块可以反转单个方阵,或乘除任意数量的矩阵,这些矩阵的维数是用数学定义的。
参数 Number of inputs 的值既决定了现有输入数据的数量,也决定了每个输入矩阵是相乘还是相除以形成输出数据。 Number of inputs 的语法与 mode 相同 Element-wise(.*)
.模式之间的区别在于乘法和除法的类型。
港口
输出
#
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(*)
.
数据类型 |
|
复数支持 |
是 |
#
/
—
用于除法或反转的输入信号
标量 | 向量 | 矩阵
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
程序块执行的运算:乘法或除法。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
输出设置
#
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
指定输出数据的类型。类型可以继承或直接指定。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Output fixed-point type —
定点输出数据类型
Data type
Details
指定定点输出数据类型。
依赖关系
要使用该选项,请将 Output data type 设为 。 Fixed-point
.
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
是 |
主模式
#
Integer rounding mode —
定点操作的四舍五入模式
Ceiling
| Convergent
| Floor
| Nearest
| Round
| Zero
Details
选择定点运算的舍入模式。您可以选择
-
Floor
- 将正数和负数向下舍入(向负无穷)。 -
Ceiling
- 将正数和负数向上舍入(向正无穷舍入)。 -
Convergent
- 将数字四舍五入到最接近的可表示值。如果一个数字的小数部分以 5 结尾,则该数字四舍五入为最接近的偶数整数。 -
Nearest
- 将数字舍入到最接近的可表示值。如果数字的小数部分以 5 结尾,则数字向上舍入(向正无穷)。 -
Round
- 将数字四舍五入到最接近的可表示值。如果数字的小数部分以 5 结尾,正数向上舍入(向正无穷),负数向下舍入(向负无穷)。
-
Zero
- 将数字向 0 舍入。
值 |
|
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Saturate on integer overflow —
溢出动作方法
Logical
Details
选中时,饱和将应用于所有内部块操作,而不仅仅是输出或结果。
操作a | 执行此操作的原因a | 溢出时会发生什么情况 示例 | |
---|---|---|---|
选中此复选框。a |
模型中可能出现溢出,您需要在生成的代码中提供显式饱和保护。 |
溢出将饱和到该数据类型可表示的最小值或最大值。a |
与有符号 8 位整数相关的溢出可能饱和到 |
请勿选择此复选框。 |
您希望优化生成代码的效率。 |
溢出会被包裹在一个可由数据类型表示的适当值中。a |
数字 |
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
#
Require all inputs to have the same data type —
所有输入均为同一数据类型的模式
Logical
Details
选择此复选框可为所有输入端口设置相同的数据类型。
默认值 |
|
程序使用名称 |
|
可调谐 |
无 |
可计算 |
无 |
算法
块 Divide 有一个输入,模式为 `Element-wise(.*)`使用以下算法对输入数据进行逐元素运算:
输入数据 | 逐元素运算 | 算法 |
---|---|---|
一个有效的标量, |
乘法 |
|
除法 |
|
|
一个有效的元素向量或矩阵, |
乘法 |
|
除法 |
|
|
复杂标量, |
乘法 |
|
除法 |
|
|
有元素的复向量或矩阵, |
乘法 |
|
除法 |
|