逻辑真值表-大学物理知识点总结
"第三章分支语句和编程设计
3.3关系运算符和逻辑运算符
第58页
a = 0;
b = sin(pi);
a == b
ans = 0
MATLAB报告了a和b不同是由于修正误差造成的,在计算中sin(pi)产生的结果是1.2246×10^-16而不是0。两个理论上相等的值由于修正误差而引起了细微的差别。我们可以通过检测两数之间在一定的范围内是不是近似相等,在这个精确范围内可能会存在修正误差。例如测试
abs(a - b) < 1.0E-14
ans = 1
将会产生正确的结果,尽管在a与b的计算中存在修正误差。好的编程习惯在我们检测两数值是否相等时一定要小心,由于修正误差可能会使两个本来应该相等的值不相等了。这时你可以在修正误差的范围内判断它是不是近似相等。要了解更多关于MATLAB误差分析与修正策略,请参考这篇文章MATLAB误差分析实验。
3.3.3逻辑运算符是联系一个或二个逻辑操作数并能产生一个逻辑结果的运算符。有三个二元运算符:分别为AND,OR和异或运算符,还有一个一元运算符NOT。二元逻辑运算的基本形式l1 op l2一元逻辑运算的基本形式为op l1和l2代表表达式或变量,op代表表3.2中的逻辑运算符。如果l1和l2的逻辑运算关系为true,那么运算将会返回值1,否则将会产生0。表3.2逻辑运算符&逻辑与|逻辑或xor逻辑异或~逻辑非运算的结果总结在真值表3.3中,它向我们展示每一种运算所有可能的结果。如果一个数的值不为0,那么MATLAB将把看作true,如果它为0,则其为false。所以~5的结果为0,~0的结果为1。有关MATLAB逻辑运算符应用的更多详细信息,请查看这篇文章matlab逻辑运算符应用。
表3.3逻辑真值表
输入 与 或 异或 非
l1 l2 l1 & l2 l1 | l2 xor(l1,l2) ~l1
0 0 0 1 1 1
1 0 0 1 1 1
1 0 0
标量和数组之间也可进行逻辑运算。a= 1 0 0 1 ,b=0,那么表达式a&b将会产生"。对于更深入的误差分析和修正方法,你可以参考这篇关于误差修正算法的文献cnc机床误差修正算法。
探索这些资源,你会发现一个新的编程世界在向你敞开!"