逻辑运算符
对输入信号执行指定的逻辑运算。
类型: Logic
图书馆中的路径:
|
说明
逻辑运算器*块对一个或多个操作数执行指定的逻辑运算。如果输入值不等于零,则解释为 "true (1)";如果输入值等于零,则解释为 "false (0)"。
具体的逻辑运算可以在程序块设置中使用 Operator 参数进行选择。
下表列出了支持的逻辑运算:
操作 | 说明 |
---|---|
|
如果所有输入均为假,则为真 |
|
如果至少一个输入为真,则为真 |
|
如果至少一个输入为假,则为真 |
|
如果没有输入为真,则为真 |
如果奇数个输入为真,则 |
为真 |
|
偶数输入为真时为真 |
|
如果输入为假则为真 |
程序块图标的变化取决于 Operator 参数中选择的逻辑运算。 输入端口数在 Number of input ports 参数中设置。
输出的大小取决于输入向量的大小和选择的运算符:
-
如果一个程序块有一个以上的输入,那么其余端口的维数将通过广播运算尽可能扩展到最大。例如,如果输入信号的尺寸分别为 4 乘 1、1 乘 5 和 1 乘 1,那么广播将在输出端产生一个尺寸为 4 乘 5 的数组。这个过程会自动按照等于 1 的尺寸扩展数组,以匹配计算输入数据的尺寸。
*广播*是自动将数组扩展到兼容尺寸以进行运算的过程。广播是根据 "传播 "规则进行的:如果数组的维数不匹配,但至少有一个维数为 1,那么就会执行操作,并将数组按照相应的维数进行扩展。 标量输入信号的维数扩展为非标量输入信号的维数,这也是通过广播操作实现的。如果一个程序块有多个输入信号,而其中一个是标量信号,则广播会自动将其扩展到与其他输入信号相同的维度。
如果一个程序块有多个输入,则输出与输入具有相同的维度,每个输出元素都是对相应输入元素应用指定逻辑运算的结果。例如,如果指定了 "AND "操作,且输入数据是 2×2 数组,则输出将是一个 2×2 数组,其左上元素是对输入数据的左上元素应用 "AND "的结果,以此类推。
-
对于单个输入向量,程序块会对向量的所有元素进行运算("NOT "运算符除外)。这种情况下的输出总是标量。
-
NOT "操作符只接受一个输入,输入可以是标量或向量。如果输入是一个向量,输出则是一个大小相同的向量,包含输入向量元素的逻辑补码。
端口
输入
端口_1 - 第一个输入信号
标量 | 向量 | 矩阵
第一个输入信号。标量、矢量或矩阵。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
端口 2 - 第二个输入信号
标量 | 向量 | 矩阵
第二个输入信号。标量、矢量或矩阵。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
端口_N - 第 N 个输入信号
标量 | 向量 | 矩阵
第 N 个输入信号。标量、矢量或矩阵。
依赖关系
要使用其他输入端口,请使用 输入端口数 参数。
数据类型: Float16
, Float32
, Float64
, Int8
, Int16
, Int32
, Int64
, UInt8
, UInt16
, UInt32
, UInt64
, Bool
参数
操作符 - 逻辑操作符
AND (default)
| OR
| NAND
| NOR
| XOR
| NXOR
| NOT
选择应用于块输入信号的逻辑运算符。
-
AND
- 如果所有输入均为真,则为真。 -
OR
- 如果至少一个输入为真,则为真。 -
NAND
- 如果至少一个输入为假,则为真。 -
NOR
- 没有输入为真时为真。 -
XOR
- 如果奇数个输入为真,则为真。 -
NXOR
- 如果偶数个输入为真,则为真。 -
NOT
- 当输入为假时为真。
块参数 |
|
价值观 |
|
默认值 |
|
输入端口数 - 输入端口数
2(默认值) | `正数 `
将程序块的输入端口数设置为正整数。
依赖关系
当 Operator 设置为 "NOT "时,此参数不可用。
块参数 |
|
值 |
`正整数 |
默认值 |
|