数值运算的误差分析(精)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 数值运算的误差分析

1.问题的提出

任何数值计算都是一种近似计算,于是研究此误差的来源及防止在整个数值计算中占非常重要的地位。首先是误差的分类、其次是估计误差的工具最后是一些避免误差产生及传播的手段。 1)模型误差:

实际问题用数学模型刻画时要忽略一些因素,从而造成数学的量和实际的量的误差称为模型误差 2)观测误差:

数学模型用到一批数它可能是观测得到的也可能是计算到的,这种数据误差造成数学量的近似。 3)截断误差:

通常要用数值方法求它的近似解,其近似解与精确解之间的误差称为截断误差 。

例如,函数)(x f 用泰勒(Taylor )多项式

n

n n x n f x f x f f x p !

)0(!2)0(!1)0()0()(2'''++++=

近似代替,则数值方法的截断误差是:

εε(,)!

1()()()()(1

)1(+++=-=n n n n x n f x p x f x R

4)舍入误差:

最后用近似的方法计算数据有误差的数学问题要用有限位数字,这就要求进行基本的四舍五入计算,由此引起的误差称为舍入误差。

例如用3.14159近似代替π,产生的误差 0000026.03014159=-=πR 为舍入误差。

2.误差与有效数字

1)绝对误差: 2)相对误差:

3)有效数字:

若近似值*x 的误差限是某一位的半个单位,该位到*x 的第一位非零数字共有n 位,就说*x 有n 位有效数字,表示

()()

1121*101010---⨯++⨯+⨯±=n n m a a a x ,

其中是),,1(n i a i =0到9中的一个数字,0≠i a ,m 为整数,且

1*102

1

+-⨯≤

-n m x x

例如:

若*x 具有n 位有效数字,则其相对误差限为:)1(1

*1021

--⨯≤

n r a ε 例一:要是20的近似值的相对误差限小于0.1%,要取几位有效数字? 设取n 位有效数字,由定理1,)1(1

*1021

--⨯≤

n r a ε。由于 4.420=,知1a =4,故只要取4=n ,就有1.01010125.033*

=<⨯≤--r ε%,

即只要对20的近似值取4 位有效数字,其相对误差限就小于0.1%,此时由开

4.472≈。 4)误差的积累运算:

≈±)(*2*1x x ε)(*1x ε+)(*

2x ε; ≈)(*2*1x x ε*2*2*1

)(x x x +ε)(*

1x ε; ≈

)/(*

2*1x x ε2

*2

*

1*2*2*1)

()(x

x x x x εε+;

5)函数的误差:

设)(x f 是一元函数,x 的近似值为*x 以)(*x f 近似)(x f ,其误差记作

)((*x f ε;那么函数的误差是:)()())((***x x f x f εε'≈

当f 多元函数时,例如计算A ),,(1n x x f =。如果 n x x ,,1 的近似值为 *

*1,,n x x 则A 的近似值为 ),,(**1*n x x f A =,

于是由泰勒展开得函数值*A 的误差为)(*A e ; 于是函数的误差限:)()(

)*(*

1

*k n

k k

x x f A εε∑=∂∂≈;

(2) 而*

A 相对误差限为:*

*1****)()()*(A x x f A A A k

n

k k

r r

εεεε∑=∂∂≈==)

((3) 例二:已测得某场地长l 的值为m l 110*=,宽d 的值为m d 80*=,已知

m l l 2.0*≤-,m d d 1.0*≤-,试求面积 ld s =的绝对误差限与相对误差限。

解:因ld s =,

d l s =∂∂,l d

s =∂∂,由(3)知 )()()()(

)*(****d d

s

l l s s εεε∂∂+∂∂≈,其中m d l s 80)(**==∂∂,

m l d s 110*==∂∂, 而m l 2.0)(*=ε,m d 1.0)(*=ε 于是

绝对误差限为 m s 27)1.0(110)2.0(80)(*=⨯+⨯≈ε, 相对误差限为

%31.08800

27

)

()

()(*

***

**

=≈

=

=

d l s s s s r εεε 6)避免误差危害的若干原则 ● 避免接近零数作除数。

例如:2

12

12

12

1)1())1((1x x x x ++=-+

顺便指出,有时为避免中间结果益出也要变换公式, 例如: y x ≥,21

22

12

2

))(1()(x y x y x +=+

● 避免相近数相减。

例如:)

)1((1)1(1212121x x x x ++=-+

再如求01562=++x x 的根,取五位数字

982.55982.2728)128(282121=+=-+=x 018.0982.2728)128(282122=-=--=x 2x 的有效数字就少了。可用01786288

.0972

.551

1

1

2===x x 试比准确解:017862840.0,982137159.5521==x x ; ● 防止大数‘吃’小数。

例如:1.0010010=+++=a a a a x ,0001.010021====a a a 如果按先后次序10a a +得0.1,再加2a 还是0.1, 1=x

如果从后往前加, ,0002

.00001.00001.0=+最后11.001.01.0=+=x ; ● 减少计算步聚。

例如:计算多项式的值

x

x x x ++-+11

1为

x

x

x x cos 1sin sin cos 1+-为

相关文档
最新文档