e书联盟电子书下载ww.bo6k118.e6m 数值方法本身引起的方法误差或截断误差。④进行数值计算时,不论是用计算机还是其它 方式,对参与运算的数字的位数都是有限制的,对超过位数的数字需要进行舍入,使会产生 舍入误差。 模型误差和观测误差是在建立数学模型过程中产生的:截新误差和舍人误差则是在求 解数学模型的数值计算过程中产生的。因此,在计算方法范围内,主委讨论截断误差和舍入 误差,而对模型误差和观测误差不做讨论。裁断误差主要涉及方法的收敛性,舍入误差则莎 及到方法的稳定性」 二、基本概念 】。误差摄念 设工为准确值,x为其近似值,记 e=I-I' 6=- 称e为近似值x的绝对误差或误差,为x'的相对误差。 般来说,无法具体骗定,住往要根据情况估计l的一个较确切的上界,即 e=x一x.e 这样的称为x的绝对误差限或误差限,由此就可知道准确值x所在的范围 -er≤x”十e 在实际应用中,常把这个不等式记为 r=r士e 由于准确值x常常是不知道的,实际应用中总是将下式所得作为工·的相对误差。 记 ,=工 显然,是的上界,即e|≤,称6,为x的相对误差限 2.有效数宇 如果一个数的近似值的误差不超过某一位的半个单位,则从这一位开始,直到前面第 一位非零数学为止的所有数字,叫有效数字。 用四舍五入方法得到的近似数的误差都不超过其末位的半个单位·所以,从其最后一位 数字开始到前面第一位非零数字为止的所有数字,均是有效数学 例如,取π-3.141592653.的近似值分别为3.14、3.141、3.142、3.14159、3.141592时 其有效数字位数分别为3、3、4、6、6:而作为数0.05099666.的近似值,其值分别为0.051 0.0510、0.05100、0.0509、0.05099时,其有效数字位数分别为2、3、4、2、3. 三、有效数字与误差限的关系 设x的近似德x为 x”=士0.a1a2+a。X10° (1-4 其中m为整数、4.,4,分别是0到9中的某个数字,且a≠0。如果x具有位有效数 字,则有 ·3
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book118.com lx-x1≤2×10" 即其绝对误差限为=×10”。在m相同的情况下,n越大,E越小。即有效数字位数越 多,饰对提差限越小 关于有效数字与相对误差限的关系,有下述定理。 定理1设x的近似值x“由式(1-4)表示,若x具有n位有效数字,则其相对误差限 为 反之,者x的相对误差限满足6≤2a十市×10,则工至少具有n位有效数字。 证由式(1-4)可得 aX10-1≤lx°≤(4+1)X101 当x有位有效数字时 -l<-a×10- I 反之,由下式 z-21=x'1≤a+1DX101×2a+D×10-"-2×10 可知x“有n位有效数字。证毕。 定理1表明,有效数字位数越多,相对误差限越小:反之亦然。 例2婴使√②0的近似值的相对误差限小于0.1%,应至少取几位有效数字? 解根据定理1,6≤公×106-”.由于√20=0.4.X10,知4=4。欲使 6≤×10-101<0.% 应至少取”=4,即取4位有效数字。 四、数值运算的误估计 已知y-f(x),x·为x的近假值,误差限为(x'),由y'=f(x')计算可得y的近似值 y,其误差限(y)可由泰勒(Tyo)公式进行估计 If(x)-f(x)川≈|f(x)(r-x)|≤1P(x)ie(x) 放有 e(y')≈f(x')E(x·) 对二元语数=f八(x,y),设x的近似值x“的误差限为e(x),y的近似值y的误差限 为(y),则由'=f(x'y)计算所得近似值x',其误差限ε(e)可由二元函数秦勒公式 估计 -1-e0-y122-r+2gy ≤3z2e+w 故有 4
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book118.com e)≈2ir)+|〕c0) (1-5) 例如,近似值x,y的加、减、乘、除运算值的误差限为 e(x‘士y)(x)+e(y') ('lyle()+'ly) e≈(x*)+(y) (小≠0) 类似地,可以对多元西数数值运算的误差进行估计。 第三节数值计算的若干原则 误差分析在数值计算中是一个既重要又复杂的问题,因为几乎每步运算都有误差,而 个工程或科学计算问题往往需要进行千百万次计算,所以每步运算都分析误差几乎是不可 能的,也是不必要的,例如,运算过程中产生的误差有时会累积起来,有时又会相互抵消。人 们感兴趣的工作就是如何防止误差的积黑,这里提出数值计算的若干原则,将有助于提高计 算结果的可靠性,防止误差危害的发生。 一、使用数值稳定的算法 所谓算法,是指按某种规定的预序进行运算的一个运算序列,它是实施计算的其体方 案。在运算过程中舍入误差不增长的算法称为数值稳定的算法,否则称为数值不稳定的算 法。在数值计算中应采用数值稳定的算法,尽量避免使用数值不稳定的算法 例3将剑1中式(12)变形为 1.1=(1-1./m (n=10,9,.,1) (1-6) 由此式计算式(1-1)的积分值。 解根据积分估值定理,易知0<1,≤→0(+),据此粗略地取初值1≈0 ≌。即使这样,由式(1-6)递推,可得1-的近似值1,-1,即 1= (n=10,9,.,1) (1-7) 其计算所得的结果仍有较好的精度,见表12。 表1-2 计算结果1。 花确镇1。 计算结架1。 准稀液1。 0.1 0.170 .170 0.20721 0.251 0.26424 .3679 0.155 0.6321 0.63212 从理论上看,式(1-2)和式(1-6)是完全等价的,但其数值结果却大不相同,这就是算法 是否稳定的具体反映。在例1中,式(12)是数值不稳定的,式(1-6)则是数值稳定的。 事实上,设1有误差,即■1。一1,则由式(1-7)进行计算时,误差满足关系式 5*
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book1H8.e6m (0=10,9,.,1) 这说明误差是透步缩小的。若1有误差6,则1,的误差为=一。到1,的误差为 ,即比e缩小了10:倍。因此,即使初始误差较大,也不会对以后的计算结某造成 危害。可见选用数值稳定的算法的重要性 二、避免绝对值很小的数作除数 用绝对值很小的数作除数,会使误差增大。列如,设~的误差为0.5×10,则y一 的误差将为0.5×10/10-1=5000:再如,2.02/101=2.02×10,若分丹10有-很 小的误差0.01×107,即分母变为1.01×10~,则2.02/(1.01×10)=2.00×10,其误若 为2.02×101一2.00×10=2×10,是很大的. 此外,用绝对值很小的数作除数,还可能会因计算溢出而停机,所以应当尽量避免 三、避免两相近的数相减 两相近的数相诚,会严重损失有效数字,从而使误差限增大,所以应当避免这种滋算 例4利用式/)≈f在+f-的,求)=V行在=2处的导数值. 2h 解了(2)=2中么,康A=心01,在五包十法制计有机上计第,得 r2)≈.1gL4142-0 2×0.0001 与实际值(2)2元=0.353533.相此套无意义,这就是击于相近的数V2江方与 √2一相使有效数字损失贻尽造成的, 若把公式恒等变形为 了(2)≈2++2-月 同样取h=0.0001,在五位十进制计算机上计算,得 /(2)产1.442+1.1120.35356 却是精度很好的解。 上述例子说明,通过改变计算公式的形式或算法,可以避免或少有效数字的损失。类 似地,以下各式用右端计算就不致严重损失有效数字: ①当x和云接近时,用-n,=lh爱 ②当x很大时用可-√+后 ③当x接近于0时,用1-c0sx=2sin2亏. 如果无法改变算式,可采用增加有效数字位数进行运算,在计算机上可采用双精度运 算,以尽量避免误差危害现象的发生。 。6
e书联盟电子书下载www.book118.com
e书联盟电子书下载www.book118.com 四、防止大数“吃掉”小数 在数值运算中参加运算的数,有时数量级相差很大,而计算机位数有限,若不注意运算 序,就可能出现大数“吃掉”小数的现象,影响结果的可靠性 例5在五位十进制计算机上计算下式的值。 A-51231+2a, 0.1≤≤0.9 解由于在计算机内计算时,各数要在规格化形式下对阶,于是51234=0.51234× 10,不妨设6=0.9,则0,9=0.0C0009×105,在五位十进制计算机中表示为机器数0。因此 计算机计算结果为 A=0.51234X103+0.000009×103+.+0.000009×10=0.51234×10 显然是不可幕的。这是由于运算中大数51234吃掉了小数8,造成的。 如果计算时合理安排计算顺序,先把数量级相同的1000个G相加,最后再加51234,就 不会出现大数“吃掉”小数的现象。这时 2a=0.9×10 于是计算结果为 A-0.51234×10+0.0090010=0.52134×10 所以,在编制程序时,要合理安排计算顺序,防止重要的物理力学参数被“吃掉” 五、简化计算步,减少运算次数 一个计算问题,如果衡诚少运算次数,不但可以节省计算时问和费用,还可以减少舍人 误差。这是数值计算必须遵从的原则,也是计算方法要研究的重要内容。例如,计算下列多 项式的值: P(x)=a.r'十a-1x十*十1x十a0 若直接计算每个一再逐项相加,需做乘法次数为 n+(n-1)+.+2+1=+1 缸法次数为和次。若采用泰九韶算法 (k=n一1,“,2,1,0) 只需要做m次乘法和n次加法就可算出P.(x)的值。 第四节典型例题分析 例6二次方程求根计算方案比较 求方程ax2+x+c=0的根,其中a=1,b=一(5X10+1),c=5×10。 解采用如下两种计算方案,在八位十进制计算机上计算。 7
e书联盟电子书下载www.book118.com