数值计算误差

本文探讨了在MATLAB环境中进行数值计算时由于浮点数表示的局限性导致的误差现象。通过具体例子5.1-5-0.1和1.5-1-0.5,解释了误差产生的原因,即小数部分无法精确表示。同时,分析了P.153第1题中的算法,指出在计算积分时如何避免误差积累,并提供了程序设计与实验结果的分析。
摘要由CSDN通过智能技术生成

补充题

在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=5In1+1n    (n=1,2,3,...,20)

2.说明事项

1)I0必须取得精确值,利用 In=10xn5+x

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值