- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[例1.4] 设x=32.93,x*=32.89,
则 |x*-x|=0.04<0.05=0.5×10-1
即 |x*-x|≤0.5×102-3
由 有 效 数 字 定 义 可 知, x*有 3位 有 效 数字 ,分 别 是 3,2,8。
由于x*中的数字9不是有效数字,故x*不是有效数。
1.3 相对误差和绝对误差
4.避免绝对值很小的数做分母 当|b|<<|a|时,应尽量避免a/b
5. 选用数值稳定性好的算法,以控制舍入误差高速 增长
例如 In0 1xx n5dx 1 n5In 1 n1,2 若 I0ln 5 60 .18误 23 1 2 差 1 4 0 计算 I10时 0 误差扩5大 10倍 0了
例如,计算多项式 p n (x ) a 0 a 1 x .. .a .n x .n.
通常运算的乘法次数为 12.....n.n(n1) 2
若采用递推算法,
u uk n a xnk u1ak pn(x)u0
则乘法次数仅为n. 又如
(kn1-,n2,- ,1,0)
d(x±y)=dx ± dy d(xy)=xdy ± ydx d(x/y)=(-xdy+ydx )/y2
•一元函数
设y=f(x),若x的近似值是x*,用f(x*) 去近似f(x)的误 差可用Taylor公式估计
e(y* )y*yf(x* )f(x)
f(x*)x* (x)(f()/2!)x(*x)2
(1.9)
[例1.5]测得某桌面的长a的近似值a*=120cm,宽b的
近似值b*=60cm。若已知|e(a*)|≤0.2cm, |e(b*)|≤0.1cm。 试求近似面积s*=a*b* 的绝对误差限与相对误差限。
解: 面积s=ab,在公式(1.5)中,将y=f(x1,x2) 换为 s=ab, 则
e(s*) s(a*,b*)e(a*) s(a*,b*)e(b*)
则近似值x*有n位有效数字
(1.1)
[例1.3] 设x*=0.0270是某数x经“四舍五入”所得
,则误差|e(x*)|不超过x*末位的半个单位,即: |x*-x|≤0.5×10 -4
又 x*=0.27×10-1 ,故该不等式又可写为 |x*-x|≤0.5×10 -1-3
由有效数字定义可知, x*有3位有效数字,分别是2,7, 0。
2=1.4142 2 0.00001356
1=0.3333
1 3
0.0000333
舍入误差很小,本课程将研究它在运算过程中是否 能有效控制。
1.1.2 截断误差(Truncation Error )
用近似的值去代替数学上的准确值带来的误差。 例如: 泰勒级数
• 零阶近似 :
• 一阶近似 :
设 x——准确值 x* ——近似值
称 er*ex*x*xx
为近似值x* 的相对误差
实用中,常用
er*ex**xx**x
表示近似值x* 的相对误差,称
r*
* x*
为相对误差限
相应的,e*称 为绝对误差,ε 称为绝对误差 限
有效数位与误差的关系
有效数位n越多,则绝对误差|e*|越小
若
(误差
)则计算
时误I差0 扩l大n56了0.18倍2,3而
1 104 2
I 100
5100
In1 15(n1In)是稳定的。
1.5 在近似计算中需要注意的问题
1.尽量简化计算步骤,减少乘除运算的次数.
例如,计算多项式 通常运算的乘法次数为 若采用递推算法,
p n (x ) a 0 a 1 x ... a .n .x n .
3.尽量避免相近数相减
1 例如8 ,0 当0 x很.0 大时 ,41 应 90 0 .1190 0 .00004 010 80
,
x1 x
1
x x1
1 1 1 x x1 x(x1)
当x接近于0时,应
1co xs six n或 tg x six n 1co xs 2
误差分析
Error Analysis
目次
误差的来源 误差 误差限 有效数字 相对误差和绝对误差 误差的传播 在近似计算中需要注意的问题
1.1 误差的来源
模型误差 观测误差 舍入误差 截断误差
1.1.1 舍入误差(Round-off Errors)
计算机字长有限,一般实数不能精确存储,于是产 生舍入误差。 例如:在10位十进制数限制下: 1÷3=0.3333333333 本应1÷3=0.3333333333……
f(x*e)(x*) 两边y 除 *f(以 x*得 )
(1.3)
er(y* )e(yy* * )ff((x x* *eห้องสมุดไป่ตู้)) (*x )ff((x x* *x ))*er(x*) (1.4)
(1.3)和(1.4)给出了由自变量的误差引起的函数值 的误差的近似式(误差传播)。
多元函数情形
1n 0 1n 0(n 011)1n 0 1(01 n0n1 1)111001
2.防止大数“吃掉”小数 当|a|>>|b|时,尽量避免a+b 。例如,假设计算机 只能存放10位尾数的十进制数,则 108+0.04=108
3.尽量避免相近数相减 例如,当x很大时,应
x1 x
a
b
b*e(a*) a*e(b*)
|e(s*)||b*||e(a*)||a*||e(b*)|
600.21200.1 24cm2
相对误差限为 |er(s*|)e(ss* *)12 26 4 00 0.3% 3
1.5 在近似计算中需要注意的问题
1.尽量简化计算步骤,减少乘除运算的次数
i 1
e r(y * )i n 1 ffi( (x x 1 1 * *x x 2 2 ,,* *,,,,x x n n * *x ) ) i*e r(x i*)
(1.6)
在 ( 1 .6 ) 中 式, f( x 1 ,分 x 2 ) x 1 别 x 2 ,x 1 x 2 ,x 1 取 /x 2 可
• 二阶近似 :
完全的泰勒级数:
余项 (n阶近似) : : 介于 xi and xi+1
x = xi+1- xi
Taylor 级数表示为:
余项:
• 零阶近似 : 截去的部分
截断误差 :
斜率 :
零阶近似 Rn :
• 一阶近似 Rn :
1.2 误差 误差限 有效数字
[Def1.1]若用x*表示x准确值的一个近似值。则此 近似值x*和准确值x的差称为误差,用e*来表示
In1 15(1nIn)是 稳 定 的
1
x x1
1 1 1 x x1 x(x1)
当x接近于0时,应
1co xs six n或 tg x six n 1co xs 2
4.避免绝对值很小的数做分母
当|b|<<|a|时,应尽量避免 。 a
b
5. 选用数值稳定性好的算法,以控制舍入误差高速
增长
例如
In0 1xx n5dx n 15In(n=1,2,…)
所以误差限 ε1=0.002,ε2=0.0005,ε3=0.000008
有效数字
[Def1.3]若用x的近似值x*的误差限是某一位上的半 个单位,该位到x*的第一位非零数字共有n位,则称 x*有n位有效数字
若用x*表示x的近似值,并将x*表示成 x*=±0.a1a2…an×10m
若 |x*-x|≤0.5×10m-n
e*=x*-x
[Def1.2]若 |e*|=|x*-x|≤ε*
ε*称为近似值x*的误差限。
[例1.2]已知x*=π=3.14159…,求近似值x1=3.14, x2=3.142,x3=3.1416的误差限。 [解]
x13.140.001590.002 x23.1420.000410.0005 x33.1416 0.00000 70.00000
1.0000022-1.000004=0 本应1.0000022-1.000004
=1.0000040000 04-1.000004 =0.0000000000 04
[例1.1] 3.1415926,
2
1.41421356,
1 3
0.33333,若在计算机上只能取4 位小数,则
1=3.1416 0.0000074
n(n1) 12.....n .
2
un an
则乘法次数uk仅为xn. u k又1如ak pn(x)u0
(kn1-,n2-,,1,0)
10001
10010 1
1
( )1
n1n(n1) n1 n n1 1001
2.防止大数“吃掉”小数 当|a|>>|b|时,尽量避免a+b 。例如,假设计算机 只能存放10位尾数的十进制数,则
e r ( x 1 * x 2 * ) m 1 i 2 e r ( x a i * )( x x 1 , x 2 同 ) ( 1 号 . 7 )
e r(x 1 * x 2 *)e r(x 1 * ) e r(x 2 *)
(1.8)
er(x x1 * * 2)er(x1 *)er(x2 *)er(x1 *)er(x* 2)
形如(1.1)式的近似数x*具有n位有效数字,则
其相对误差限可取为
反
之
er* ,若
1 2a1
101n
er*
1 2(a1 1)
101n
则x *至 少 具 有 n位 有 效 数 字
1.4 误差传播
•基本算术运算
设x*和y*分别是x和y的近似值,把它们的误差近似地 看做是相应地微分,即