一个按元素布尔表达式是使用boolean运算符“或”(|和&)和“not”(!),以及用于控制嵌套的括号。布尔表达式的真值是通过组合组件表达式的相应元素的真值来计算的。如果一个值为零,则认为它为假,否则认为它为真。
只要可以使用comparisonexpressions,就可以使用按元素布尔表达式。它们可以用于if
和while
语句。但是,在中用作条件的矩阵值if
或while
只有当全部的其中的元素为非零。
与比较运算一样,按元素布尔表达式的每个元素也有一个数值(如果为true,则为1,如果为false,则为0),如果布尔表达式的结果存储在avariable中或用于算术,则该数值将发挥作用。
以下是对三个按元素布尔运算符的描述。
boolean1 & boolean2
¶如果的两个对应元素都为true,则结果的元素为trueboolean1和boolean2为真。
boolean1 | boolean2
¶如果相应的元素中的任何一个为boolean1或boolean2为真。
! boolean
¶~ boolean
如果的相应元素为boolean是错误的。
这些操作符在按元素的基础上起作用。例如,表达式
[1, 0; 0, 1] & [1, 0; 2, 3]
返回一个二乘二的单位矩阵。
对于二进制运算符,适用广播规则。详见广播特别地,如果操作数中的一个是标量而另一个是矩阵,则将运算符应用于标量和矩阵的每个元素。
对于二进制按元素布尔运算符,两个子表达式boolean1和boolean2在计算结果之前进行评估。当表达式具有副作用时,这可能会返回影响。例如,在表达式中
a & b++
变量的值b即使变量a为零。
这种行为对于布尔运算符如矩阵值操作数所述起作用是必要的。
TF =
and (x, y)
¶TF =
and (x1, x2, …)
¶返回的逻辑ANDx和y.
此函数等效于运算符语法x & y
。如果给出两个以上的自变量,则逻辑AND从左到右累积应用:
(...((x1 & x2) & x3) & ...)
TF =
or (x, y)
¶TF =
or (x1, x2, …)
¶返回的逻辑ORx和y.
此函数等效于运算符语法x | y
。如果给出两个以上的自变量,则逻辑OR从左到右累积应用:
(...((x1 | x2) | x3) | ...)
版权所有 © 2024-2025 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2