第1章 数学建模与误差分析 联系客服

发布时间 : 星期六 文章第1章 数学建模与误差分析更新完毕开始阅读79ace8626394dd88d0d233d4b14e852459fb3959

1。与此相反,由于绝对误差有量纲,上例100中两种测量的绝对误差1千克和1米的量纲不同,两者就无法进行比较。 在实际计算中,由于真值x总是无法知道的,因此往往取

?(x)?r*(x)?* (1.5.7)

x作为相对误差的另一定义。

误差,这两种测量的相对误差都是

下面比较?r(x)与?r(x)之间的相差究竟有多大:

*?r(x)??r*(x)??(x)(?1x112)??[?(x)] **xx?x1x(x?r(x))2??(?r(x))2xx*x*x??(?r(x))2

x??(x)1??()(?r(x))21??r(x)??一般地,?r(x)很小,不会超过0.5。这样端是一高阶小量,可以忽略。

11??r(x)不大于2,因此,上式右

?r(x)??r*(x)?2[?r(x)]2??(?r(x))

故可用?r*(x)来代替?r(x)。

相对误差也可用百分数来表示:

?(x)?r*(x)?*?100%

x这时称它为百分误差。

1.6 误差的传播与估计

1.6.1 误差估计的一般公式

在实际的数值计算中,参与运算的数据往往都是些近似值,带有误差,这些数据误差在多次运算过程中会进行传播,使计算结果产生误差,而确定计算结果所能达到的精度显然是十分重要的,但往往很困难。不过,对计算误差作出一定的定量估计还是可以做到的。下面利用函数泰勒(Taylor)展开式推出误差估计的一般公式。

考虑二元函数y?f(x1,x2),设x1*和x2*分别是x1和x2的近似值,y*是函数值y的近似值,且y*?f(x1*,x2*),函数f(x1,x2)在点(x1*,x2*)处的泰勒展开式为:

f(x1,x2)?f(x1*,x2*)?[(?f*?f***)(x1?x1)?()(x2?x2)]?x1?x21?2f*?f**2**?[(2)?(x1?x1)?2()?(x1?x1)(x2?x2) 2!?x1?x1?x2?2f**2?(2)?(x1?x2)]??x2**式中,(x1?x1)??(x1)和(x2?x2)??(x2)一般都是小量值,如忽略高阶小量,则

上式可简化为:

**f(x1,x2)?f(x1,x2)?(?f*?f)??(x1)?()*??(x2) ?x1?x2因此,y*的绝对误差为

?(y)?y?y*?f(x1,x2)?f(x1*,x2*)?(式中,?(x1)和前面?(x2)的系数(?f*?f(1.6.1) )??(x1)?()*??(x2)

?x1?x2?f*?f***和x2对y*的绝对误差增)和()分别是x1?x2?x1长因子,它们分别表示绝对误差?(x1)和?(x2)经过传播后增大或缩小的倍数。 由(1.6.1)可得出y*的相对误差:

?r*(y)???(y)y**1*?(?f*?(x1)?f?(x2))?()*?x1y*?x2y**2*x?f**x?f()??r(x1)?()*??r*(x2)y?x1y?x2 (1.6.2)

**x1?f?f*x2**式中,?(x1)和?(x2)前面的系数*()和*()*分别是x1和x2对y*的相对

y?x2y?x1*r*r误差增长因子,它们分别表示相对误差?r*(x1)和?r*(x2)经过传播后增大或缩小的倍数。

例1.6.1 用电表测得一个电阻两端的电压和流过的电流范围分别为 V?200?2(伏特)和I?10?0.1(安培),求这个电阻的阻值R,并估算其绝对误差和相对误差。

V解 由欧姆定律,有 R?

I220?22(欧姆) 可以求出R的近似值 R*?10由(1.6.1)可计算R*的绝对误差:

?R*?R*1V*?(R)?()??(V)?()??(I)?*??(V)???(I) 2*?V?II?I?*令V*?220(伏),?(V)?(伏);I?10,?(I)?0.1。将它们带入上式,(安)2(安)即可估算出的绝对误差:

1V*1220?(R)?*??(V)?*2??(I)??2??0.1?0.42

I(I)10(10)2因此,R*的相对误差?r*(R)??(R)R*?0.42?0.0191?1.91% 22(1.6.1)和(1.6.2)可推广到更为一般的多元函数y?f(x1,x2,xn)中,只要

***将函数f(x1,x2?,xn) 在点(x1,x2?,xn) 处作泰勒展开,并略去其中的

?(x1),?(x2),?,?(xn)等小量的高阶项,即可得到函数的近似值的绝对误差和相对

误差的估算式分别为:

??f*?(1.6.3) ?(y)???()??(xi)?

?xi?1?i?n?xi*?f**?和 ?(y)???*()??r(xi)? (1.6.4)

?xii?1?y?*rn?f*xi*?f*上两式中的各项()和*()(i?1,2,?xiy?xi,n)分别为各个xi*(i?1,2,,n)对y*的

绝对误差和相对误差的增长因子。

从(1.6.3)和(1.6.4)可知,误差增长因子的绝对值很大时,数据误差在运算中传播后,可能会造成结果的很大误差。凡原始数据xi的微小变化可能引起结果y的很大变化的这类问题,称为病态问题或坏条件问题。

1.6.2 误差在算术运算中的传播

可以利用(1.6.3) 和(1.6.4)对算术运算中数据误差传播规律作具体分析。

(1)加减运算

由(1.6.3) 和(1.6.4)有

?n?n ???xi????(xi) (1.6.5)

?i?1?i?1?n?nxi*及 ???xi???n (1.6.6)

*?i?1?ix?i*ri?1由(1.6.5)可知:近似值之和的绝对误差等于各近似值绝对误差的代数和。

两数x2和x1相减,由(1.6.6)有

**x1x2*??x1?x2??**?r?x1??**?r*?x2?

x1?x2x1?x2*r即 ?*r?x1?x2?**x1x2*?**??r?x1??**??r*?x2? x1?x2x1?x2**当x1,即大小接近的两个同号近似值相减时,由上式可知,这时?r*?x1?x2? ?x2可能会很大,说明计算结果的有效数字将严重丢失,计算精度很低。

因此在实际计算中,应尽量设法避开相近数的相减。当实在无法避免时,可用变换计算公式的办法来解决。

例1.6.2 当要计算3.01?3,结果精确到第五位数字时,至少取到

3.01?1.7349352和3?1.7320508

这样 3.01?3?2.8844?10?3 才能达到具有五位有效数字的要求。如果变换算式:

3.01?3?3.01?30.01??2.8843?10?3

3.01?31.7349?1.7321也能达到结果具有五位有效数字的要求,而这时3.01和3所需的有效位数只要五位,远比直接相减所需有效位数(八位)要少。

例1.6.3 当x很小时,cosx?1,如要求1?cosx的值,可利用三角恒等式

?x?1?cosx?2sin2??

?2?进行公式变换后再来计算。同理,也可把cosx展开成泰勒级数后,按

x2x41?cosx???2!4!

来进行计算。这两种算法都避开了两个相近数相减的不利情况。

(2)乘法运算

由(1.6.3)及(1.6.4)有