- 29
- 0
- 约1.08万字
- 约 30页
- 2017-02-09 发布于江苏
- 举报
数值分析例题供参习
绪论:
例 已知,作为=3.141592…的近似值,试分别求出它们有效数字的位数及相对误差限
解:(1)3.142-3.14159=0.000410.5×10-3
3.142=0.3142×101 ,1-n=-3,∴n=4
∴3.142有4位有效数字
(2)0.0005930.5×10-2
∴1-n=-2 ∴n=3
∴3.141有3位有效数字
∴当3.141作为的近似数时有3位有效数字,不具有4位有效数字,3.14有效,千分位1不是有效数字。
练习 已知x1=2.71,x2=2.72,x3=2.7181作为e=2.71828…的近似值,求这3个近似数的有效数字的位数。 (n=2, 3, 4 )
推论1 对于给出的一个有效数,其绝对误差限不大于其末位数字的半个单位。
推论2 若近似值x=± 0.a1a2…an*10m (其中a1≠0) 具有n位有效数字,则其相对误差≤。
证明:∵x=±0. a1…an*10m ∴| x |≥a1*10m-1
又x具有n位有效数字,则| x- x*|≤
| e* r |=
∴n越大,|e* r |就越小,一般应用中取=
例1:求的近似值,使其相对误差不超过。
解:=2.4494……取=2,设x*=有n位有效数字,由推论2,
=≤,∴n=4,取x*=2.449
练习:要使的近似值相对误差不超过0.1%,则至少要求几位有效数字?
解:设x*=,其近似数x具有n位有效数字,其相对误差限满足
=≤0.1%n≥3.097 ∴n=4
例1 求有效数3.150950,15.426463, 568.3758, 7684.388之和。
解 ∑=……=8271.341 213
而这和的绝对误差限为
2*0.5*10-6+0.5*10-4+0.5*10-3 ≈0.5*10-3
∴∑应舍入成8271.341最末3位的计算没有意义,合理的做法是将小数位较多的各位数按小数位最少的位数多取1位作舍入处理,再相加
3.1510+15.4265+568.3758+7684.388=8271.3413
3*0.5*10-4+0.5*10-3=0.000650.5*10-2
和8271.3413舍入至小数后2位得 8271.34
例2:求x2+()x+109 =0的根,求根公式x=,=-109 ,=-1
b==-0.1*1010-0.0000000001*1010=-0.1*1010(设为八位机运算)
b2-4ac=1018-4*1*109=0.1*1019=1018 x1,2=
换一种算法
注意:(1)大量运算时,可能很大。(举例,如高考估分)
(2)两个相差很大的数进行加减时,要防止大数“吃”小数现象,在多个数求和时,如果被加数的绝对值之间差异较大,且包含许多绝对值较小的数,则应按绝对值从小到大的次序相加。
(3)要避免两个相近数相减
例:cos20=0.9994,但1-cos20=0.0006却只有一位有效数字……,遗失有效位。为避免这种情况,改变计算公式
(当x很大)
sin(x+)-sinx=2cos(x+)sin
lnx1- lnx2= ln(当x与x2接近时)
4.2 y=a*x (a为常数) 易知| |=| a*|≤|a|*,若a增大,则| | 也增大
(4)避免小数作除数和大数作乘数
(5)尽量简化计算步骤,减少运算次数。
例如,如果直接计算x255 的值须进行254次乘法运算若采用公式
x255=x* x2* x4* x8* x16* x32* x64* x128,只需做14次乘法运算
(6)注意运算次序
例 计算
解 算法一:
D1 =A/B= 0.176 47
D的真值为0.169 481 48…,只精确到小数后一位
算法二:
a = 0.0005/0.0003≈1.666 667
b = 0.0143/0.0125=1.14400
c = 0.0012/0.0135≈0.088 889
D2 = abc = … = 0.169 482, 则D1 精确到小数后五位
例 计算 (n= 0, 1, 2, 3…),
解 用分部积分公式得递推式: 。
用四位有效数字计算: I0 = 0.6321,
, ,
, ,
, ,
, .
估算In
故
,。
于是I7,I8与精确值已经面目全非,一位有效数字也没有。这是由于如果I0有误差,
(
其截断误差
,
不计中间再产生的舍入误差,该误差随着计算过程分别乘以2,3…7,8,到I8时已经变成了,误差扩大了4万倍。因而该算法不是稳定的。
原创力文档

文档评论(0)