【文件属性】:
文件名称:逻辑真值表-comsol中文手册
文件大小:7.02MB
文件格式:PDF
更新时间:2021-06-10 04:24:46
MATLAB
58 | 第三章 分支语句和编程设计
计算所产生的结果的是
>> a = 0;
>> b = sin(pi);
>> a == b
ans =
0
MATLAB 报告了 a 和 b 不同因为他产生了一个 round off 错误,在计算中 sin(pi)产生了
结果 1.2246×10-16 而不是 0。两个理论上相等的值因为 round off 错误而失之发生了细微的差
别。
我们可以通过检测两数之间在一定的范围内是不是近似相等,在这个精确范围内可能会
产生 round off 错误。例如测试
>> abs(a - b) < 1.0E-14
ans =
1
将会产生正确的结果,不管在 a 与 b 的计算中产不产生的 round off 错误。
好的编程习惯
在我们检测两数值是否相等时一定要小心,因为 round off 错误可能会使两个本来应该
相等的值不相等了。这时你可以在 round off 错误的范围内它是不是近似相等。
3.3.3 逻辑运算符
逻辑运算符是联系一个或二个逻辑操作数并能产生一个逻辑结果的运算符。有三个二元
运算符:分别为 AND,OR 和异或运算符,还有一个一元运算符 NOT。二元逻辑运算的基
本形式
l1 op l2
一元逻辑运算的基本形式为
op l1
l1 和 l2 代表表达式或变量,op 代表表 3.2 中的逻辑运算符。如果 l1 和 l2 的逻辑运算关系
为 true,那么运算将会返回值 1,否则将会产生 0。
表 3.2 逻辑运算符
& 逻辑与
| 逻辑或
xor 逻辑与或
~ 逻辑非
运算的结果总结在真值表 3.3 中,它向我们展示每一种运算所有可能的结果。如果一个
数的值不为 0,那么 MATLAB 将把看作 true,如
表 3.3 逻辑真值表
输入 与 或 异或 非
l1 l2 l1 & l2 l1 | l2 xor(l1,l2) ~l1
0 0 0 0 0 1
0 1 0 1 1 1
1 0 0 1 1 0
1 1 1 1 0 0
果它为 0,则其为 false。所以~5 的结果为 0,~0 的结果为 1。