补充题
在MATLAB上执行>> 5.1-5-0.1和>> 1.5-1-0.5,给出执行结果,并简要分析一下产生现象的原因
代码:
>> x1=5.1-5-0.1
x1 =
-3.608224830031759e-16
>> x2=1.5-1-0.5
x12=
0
原因:
浮点数表示时数字时位数有限,以双精度浮点数为例,共64位。
对于5.1,符号位一位,指数位11,整数部分占3位,小数部分0.1不能精确表示只能近似用49位表示。5.1-5-0.1,5被精确表示,0.1则用52位近似表示。故5.1中的小数部分0.1在计算机中比0.1小,最后结果为负。而x2=1.5-1-0.5中,所有的数都被精确表示了,故其结果为0.
p.153第1题
(1)
(一)程序设计
1.算法
In=−5In−1+1n (n=1,2,3,...,20)
2.说明事项
1)I0必须取得精确值,利用 In=∫10xn5+x