Octave 内置了对逻辑值的支持,即取值为 true 或 false 的变量。当比较两个变量时,结果将是一个逻辑值,其值取决于比较是否成立。
基本逻辑运算有 &、| 和 !,分别对应"逻辑与"、"逻辑或"和"逻辑非"。这些运算遵循通常的逻辑规则。
逻辑值也可以作为标准数值计算的一部分使用。在这种情况下,true 转换为 1,false 转换为 0,两者均采用双精度浮点数表示。因此,true*22 - false/6 的结果是 22。
逻辑值还可以用于索引矩阵和元胞数组。使用逻辑数组进行索引时,结果将是一个包含逻辑数组中 true 部分对应值的向量。参见逻辑索引。
逻辑值也可以通过将数值对象强制转换为逻辑类型,或使用 true 和 false 函数来构造。
TF = logical (x) ¶将数值对象 x 转换为逻辑类型。
任何非零值都将转换为 true (1),而零值将转换为 false (0)。非数值 NaN 无法转换,并将产生错误。
兼容性说明:Octave 接受复数值作为输入,而 MATLAB 会报错。
T = true ¶T = true (n) ¶T = true (m, n, …) ¶T = true ([m, n, …]) ¶T = true (…, "like", var) ¶返回一个标量、矩阵或 N 维数组,其所有元素均为逻辑值 1。
如果不带参数调用,则返回标量逻辑值 1。
如果使用单个标量整数参数 n 调用,则返回一个 N×N 的方阵。
如果使用两个或多个标量整数参数,或使用一个整数向量调用,则返回具有给定维度的数组。
如果在 "like" 后指定了一个逻辑变量 var,则输出 T 将具有与 var 相同的稀疏性。
编程注意:true (…) 比 logical (ones (…)) 更快(30 倍)且更节省内存。
任何负数维度均视为零,任何零维度将导致空矩阵。这种特殊行为是为了兼容 MATLAB。
F = false ¶F = false (n) ¶F = false (m, n, …) ¶F = false ([m, n, …]) ¶F = false (…, "like", var) ¶返回一个标量、矩阵或 N 维数组,其所有元素均为逻辑值 0。
如果不带参数调用,则返回标量逻辑值 0。
如果使用单个标量整数参数 n 调用,则返回一个 N×N 的方阵。
如果使用两个或多个标量整数参数,或使用一个整数向量调用,则返回具有给定维度的数组。
如果在 "like" 后指定了一个逻辑变量 var,则输出 F 将具有与 var 相同的稀疏性。
编程注意:false (…) 比 logical (zeros (…)) 更快(30 倍)且更节省内存。
任何负数维度均视为零,任何零维度将导致空矩阵。这种特殊行为是为了兼容 MATLAB。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-2