来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/11 08:54:23
matlab 判断不等式
>> (1-1)*(1-1)+(0-0.2)*(0-0.2)==0.04
ans =
0
为什么会是ans=0呢...就问啊
计算机误差造成的,这样的例子很多.
主要原因是计算中有小数,按照双精度储存,计算中会有截断误差,试试下面:
0.2*0.2-0.04
ans =
6.9389e-18
对于这种问题,不要直接判断相等,给一个误差限就好,判断相等改为
abs((1-1)*(1-1)+(0-0.2)*(0-0.2)-0.04)