4.6逻辑值

Octave内置了对逻辑值的支持,即以下变量truefalse。当比较两个变量时,结果将是一个逻辑值,其值取决于比较是否为真。

基本的逻辑运算是&, |!,对应于“逻辑与”、“逻辑或”和“逻辑非”。这些运算都遵循通常的逻辑规则。

也可以使用逻辑值作为标准数值计算的一部分。在这种情况下true转换为1false转换为0,两者都使用双精度浮点数字表示。所以,true*22 - false/6的结果是22.

逻辑值也可以用于索引矩阵和元胞数组。当使用逻辑数组进行索引时,结果将是一个向量,其中包含逻辑为true的数组的部分。详见逻辑索引.

逻辑值也可以通过将数字对象强制转换为逻辑值来构造,或者使用truefalse函数构造。

 
TF = logical (x)

转换数字对象x到逻辑类型。

任何非零值都将转换为true(1),而零值将转换为false(0)。无法转换非数字值NaN,这将返回错误。

兼容性说明:Octave接受复数值作为输入,而MATLAB报错。

详见: double, single, char.

 
T = true
T = true (n)
T = true (m, n, …)
T = true ([m, n, …])
T = true (…, "like", var)

返回一个标量,矩阵或N维数组,其元素均为逻辑 1.

如果不带参数调用,返回标量的逻辑1

如果使用单个标量整数参数n调用,则返回一个NxN的方阵。

如果使用两个或多个标量整数参数或整数向量调用,则返回给定维度的数组。

如果在逻辑变量var之后指定"like",输出T将具有与var相同的稀疏性.

编程注意:true (…)logical (ones (…))更快(30倍)且更节省内存。

任何负数维度都被视为零,任何零维度将导致一个空矩阵。这种奇怪的行为是为了兼容MATLAB

详见: false, logical, ones, zeros.

 
F = false
F = false (n)
F = false (m, n, …)
F = false ([m, n, …])
F = false (…, "like", var)

返回一个标量,矩阵或N维数组,其元素均为逻辑 0.

如果不带参数调用,返回标量的逻辑0

如果使用单个标量整数参数n调用,则返回一个NxN的方阵。

如果使用两个或多个标量整数参数或整数向量调用,则返回给定维度的数组。

如果在逻辑变量var之后指定"like",输出F将具有与var相同的稀疏性.

编程注意:false (…)logical (zeros (…))更快(30倍)且更节省内存。

任何负数维度都被视为零,任何零维度将导致一个空矩阵。这种奇怪的行为是为了兼容MATLAB

详见: true, logical, ones, zeros.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2