




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中南大学数学与统计学院中南大学数学与统计学院 科学计算与数学建模 绪论4 误差的种类及其来源误差的种类及其来源 非过失误差非过失误差 数值计算中,数值计算中,除了可以避免的过失误差外,除了可以避免的过失误差外,还有不少来源不同而又无法避免的还有不少来源不同而又无法避免的非过失误差存在于数值计算过程中,非过失误差存在于数值计算过程中,主要有如下几种主要有如下几种 截断误差截断误差观测误差观测误差 模型误差模型误差 舍入误差舍入误差 1.4.2 1.4.2 观测误差观测误差 在建模和具体运算过程中所用到的一些初始数据往往都是通过人们实际观察、测量得来的,由于受到所用观测仪器、设备精度 的限制,这些
2、测得的数据都只能是近似的,即存在着误差,这种误差称为“观测误差”或“初值误差”。 1.4.3 1.4.3 截断误差截断误差 在不少数值运算中常遇到超越计算,如微分、积分和无穷级数求和等,它们须用极限或无穷过程来求得。然而计算机却只能完成有限次算术运算和逻辑运算,因此需将解题过程化为一系列有限的算术运1.4.1 1.4.1 模型误差模型误差 在建模(建立数学模型)过程中,欲将复杂的物理现象抽象、归纳为数学模型,往往只得忽略一些次要因素的影响,而对问题作某些必要的简化。这样建立起来的数学模型实际上必定只是所研究的复杂客观现象的一种近似的描述,它与真正客观存在的实际问题之间有一定的差别,这种误差称为
3、“模型误差”。 算和逻辑运算。这样就要对某种无穷过程进行算和逻辑运算。这样就要对某种无穷过程进行“截断截断”,即仅保无穷过,即仅保无穷过程的前段有限序列而舍弃它的后段。这就带来了误差,称它为程的前段有限序列而舍弃它的后段。这就带来了误差,称它为“截断误截断误差差”或或“方法误差方法误差”。357sin3!5!7!xxxxx (1.4.1)(1.4.1)234ln(1)( 11)234xxxxxx (1.4.2) (1.4.2)若取级数的起始若干项的部分和作为函数值的近似,例如取若取级数的起始若干项的部分和作为函数值的近似,例如取35sin3!5!xxxx (1.4.3)(1.4.3)例如,函数
4、例如,函数 和和 可分别展开为如下的无穷幂级数:可分别展开为如下的无穷幂级数:sin xln(1)x 则由于它们的第四项和以后各项都舍弃了,自然产生了误差。这就是则由于它们的第四项和以后各项都舍弃了,自然产生了误差。这就是由于截断了无穷级数自第四项起的后段的产生的截断误差。由于截断了无穷级数自第四项起的后段的产生的截断误差。(1.4.3)(1.4.3)和和(1.4.4)(1.4.4)的截断误差是很容易估算的,因为幂级数的截断误差是很容易估算的,因为幂级数(1.4.1)(1.4.1)和和(1.4.2)(1.4.2) 都是都是交错级数,当交错级数,当 时的各项的绝对值又都是递减的,因此,这时它们的
5、截时的各项的绝对值又都是递减的,因此,这时它们的截断误差断误差 可分别估计为:可分别估计为: 23ln(1)23xxxx(1.4.4)(1.4.4) 4R x74( )7!xxR 444xxR1.4.4 1.4.4 舍入误差舍入误差 在数值计算过程中还会用到一些无穷小数,例如无理数和有理数在数值计算过程中还会用到一些无穷小数,例如无理数和有理数中某些分数化出的无限循环小数,如中某些分数化出的无限循环小数,如 和和1x 3.1415926521.41421356110.1666663!6 由于受计算机机器字长的限制,它所能表示的数据只能由于受计算机机器字长的限制,它所能表示的数据只能有有限位数,
6、这时就需把数据按四舍五入舍入成一定位数有有限位数,这时就需把数据按四舍五入舍入成一定位数的近似的有理数来代替。由此引起的误差称为的近似的有理数来代替。由此引起的误差称为“舍入误差舍入误差”或或“凑整误差凑整误差”。 综上所述综上所述,数值计算中除了可以完全避免的过失误差数值计算中除了可以完全避免的过失误差外,还存在难以避免的外,还存在难以避免的模型误差模型误差、观测误差观测误差、截断误差截断误差和和舍入误差舍入误差。数学模型一旦建立,进入具体计算时所要考虑数学模型一旦建立,进入具体计算时所要考虑和分析的就是和分析的就是截断误差截断误差和和舍入误差舍入误差了。在计算机上经过千了。在计算机上经过千
7、百次运算后所积累起来的总误差不容忽视,有时可能会大百次运算后所积累起来的总误差不容忽视,有时可能会大得惊人,甚至到达得惊人,甚至到达“淹没淹没”所欲求解的真值的地步,而使所欲求解的真值的地步,而使计算结果失去根本的意义。因此,在讨论算法时,有必要计算结果失去根本的意义。因此,在讨论算法时,有必要对其截断误差的估算和舍入误差的控制作适当的分析。对其截断误差的估算和舍入误差的控制作适当的分析。5 绝对误差和相对误差绝对误差和相对误差 1.5.1 绝对误差和绝对误差限绝对误差和绝对误差限x*xx定义定义1.5.11.5.1 设某一个准确值(称为真值)为设某一个准确值(称为真值)为,则,则与与的差的差
8、*( ) xx x (1.5.11.5.1)*x( )0 x称为近似值称为近似值的的“绝对误差绝对误差”,简称,简称“误差误差”。当。当时,称为亏近时,称为亏近似值或弱近似值,反之则称为盈近似值或强近似值。似值或弱近似值,反之则称为盈近似值或强近似值。 ( ) x由于真值往往是未知或无法知道的,因此,由于真值往往是未知或无法知道的,因此,就无法求出。就无法求出。但一般可估计此绝对误差的上限,也即可以求出一个正值但一般可估计此绝对误差的上限,也即可以求出一个正值 ,使使的准确值(真值)的准确值(真值)也也( )*xxx(1.5.21.5.2)*x称为近似值称为近似值的的“绝对误差限绝对误差限”,
9、简称,简称“误差限误差限”,或称,或称“精度精度”。有时也用。有时也用*x来表示(来表示(1.5.21.5.2)式,这时等式右端的两个数值)式,这时等式右端的两个数值和和代表了代表了在范在范围的上、下限。围的上、下限。越小,表示该近似值越小,表示该近似值的精度越高。的精度越高。,其近似值为其近似值为*x*xx(1.5.31.5.3)*x*xx所所例例1.5.1 1.5.1 用有毫米刻度的尺测量不超过一米的长度。读数方法如下:用有毫米刻度的尺测量不超过一米的长度。读数方法如下: 如长度接近于毫米刻度,就读出该刻度数作为长度的近似值。显如长度接近于毫米刻度,就读出该刻度数作为长度的近似值。显然,这
10、个近似值的绝对误差限就是半个毫米,则有然,这个近似值的绝对误差限就是半个毫米,则有*1( )()2lll毫米如果读出的长度是如果读出的长度是513513毫米,则有毫米,则有5130.5l 这样,虽仍不知准确长度这样,虽仍不知准确长度l是多少,但由(是多少,但由(1.5.31.5.3)式可得到不等式:)式可得到不等式:512.5513.5()l 毫米l512.5,513.5这说明这说明必在必在毫米区间内。毫米区间内。1.5.2 相对误差和相对误差限相对误差和相对误差限 用绝对误差还不能完全评价近似值的精确度。例如测量用绝对误差还不能完全评价近似值的精确度。例如测量1010米的长度时米的长度时产生
11、产生1 1厘米的误差与测量厘米的误差与测量1 1米的长度时产生米的长度时产生1 1厘米的误差是大有区别的。虽然厘米的误差是大有区别的。虽然两者的绝对误差相同,都是两者的绝对误差相同,都是1 1厘米,但是由于所测量的长度要差十倍,显然厘米,但是由于所测量的长度要差十倍,显然前一种测量比后一种要精确得多。这说明要评价一个近似值的精确度,除前一种测量比后一种要精确得多。这说明要评价一个近似值的精确度,除了要看其绝对误差的大小外,还必须考虑该量本身的大小,这就需要引进了要看其绝对误差的大小外,还必须考虑该量本身的大小,这就需要引进相对误差相对误差的概念。的概念。*( )( )rxxxxxx (1.5.
12、41.5.4) 称为近似值称为近似值*x的的“相对误差相对误差”。110001100在上例中,前一种测量的误差为在上例中,前一种测量的误差为,而后一种测量的相对误差则为,而后一种测量的相对误差则为,是前一种的,是前一种的十倍十倍。定义定义1.5.2 1.5.2 绝对误差与真值之比,即绝对误差与真值之比,即 由(由(1.5.41.5.4)可见,相对误差可以从绝对误差求出。反之,绝对误)可见,相对误差可以从绝对误差求出。反之,绝对误差也可由相对误差求出,其相互关系式为:差也可由相对误差求出,其相互关系式为: ( )( )rxxx (1.5.51.5.5) ( ) xx 相对误差不仅能表示出绝对误差
13、来,而且在估计近似值运算结果的相对误差不仅能表示出绝对误差来,而且在估计近似值运算结果的误差时,它比绝对误差更能反映出误差的特性。因此在误差分析中,相误差时,它比绝对误差更能反映出误差的特性。因此在误差分析中,相对误差比绝对误差更为重要。相对误差也无法准确求出。因为(对误差比绝对误差更为重要。相对误差也无法准确求出。因为(1.5.41.5.4)中的中的和和均无法准确求得。均无法准确求得。 也和绝对误差一样,可以估计它的大小范围,即可以找到一个正数也和绝对误差一样,可以估计它的大小范围,即可以找到一个正数,使,使( )rx (1.5.61.5.6) *x称为近似值称为近似值的的“相对误差限相对误
14、差限”。相对误差是个纯数字,它没有量纲。相对误差是个纯数字,它没有量纲。 例例1.5.2 1.5.2 称称100 100 千克重的东西若有千克重的东西若有1 1千克重的误差和量千克重的误差和量100100米长米长的东西有的东西有1 1米长的误差,这两种测量的相对误差都是米长的误差,这两种测量的相对误差都是 。与此相。与此相反,由于绝对误差是名词,有量纲,上例中两种测量的绝对误差反,由于绝对误差是名词,有量纲,上例中两种测量的绝对误差1 1千克和千克和1 1米的量纲不同,两者就无法进行比较。米的量纲不同,两者就无法进行比较。x在实际计算中,由于真值在实际计算中,由于真值1100总是无法知道的,因
15、此往往取总是无法知道的,因此往往取*( )( )rxxx (1.5.71.5.7) 作为相对误差的另一定义。作为相对误差的另一定义。*( )rx( )rx下面比较下面比较与与之间的相差究竟有多大:之间的相差究竟有多大: xxrr*=)11)(*xxx=2*)(1xxx=2*)(1xxxxr=2*)(xxxr=2)()(11xxrr( )rx0.5一般地,一般地,很小,不会超过很小,不会超过。这样。这样11( )rx不大于不大于2 2,因此,因此,上式右端是一高阶小量,可以忽略。上式右端是一高阶小量,可以忽略。 *2( )( )2( )( )rrrrxxxx *( )rx( )rx上式右端是一高
16、阶小量,可以忽略,故用上式右端是一高阶小量,可以忽略,故用来代替来代替。相对误差也可用百分数来表示:相对误差也可用百分数来表示:*( )( )100%rxxx这时称它为这时称它为百分误差百分误差。 6 6 有效数字及其误差的关系有效数字及其误差的关系 1.6.1 1.6.1 有效数字有效数字 在表示一个近似值的准确程度时,常用到在表示一个近似值的准确程度时,常用到“有效数字有效数字”的概念。的概念。例例1.6.1 1.6.1 ,若,若 按四舍五入取四位小数,则得的近按四舍五入取四位小数,则得的近似值为似值为3.14163.1416;若取五位小数则得其近似值为;若取五位小数则得其近似值为3.14
17、1593.14159。这种近似值。这种近似值取法的特点是误差限为其末位的半个单位,即取法的特点是误差限为其末位的半个单位,即*xx*x定义定义1.6.11.6.1 当近似值当近似值,其近似值,其近似值的规格化形式:的规格化形式:的误差限是其某一位上的半个单位时,称其的误差限是其某一位上的半个单位时,称其“准确准确”到这一位且从该位起直到前面第一位非零数字为止的所有数字到这一位且从该位起直到前面第一位非零数字为止的所有数字称为有效数字。一般说,设有一个数称为有效数字。一般说,设有一个数*120.10mnx (1.6.11.6.1) 413.14161023.14159265式中式中 都是都是 中
18、的一个数字,中的一个数字, 是正整数,是正整数, 是整数。是整数。若若 的误差限为:的误差限为: 0,1,2,9nm*x*1( )102m nxxx (1.6.2)*x10m n则称则称为具有为具有n n位有效数字的有效数,或称它精确到位有效数字的有效数,或称它精确到一位数字一位数字 12,n *x都是都是的有效数字。的有效数字。 若(若(1.6.11.6.1)中的)中的*x是经四舍五入得到的近似数,是经四舍五入得到的近似数, *xn则则具有具有位有效数字。位有效数字。3.1416例例 1.6.21.6.2 是是的具有五位有效数字的近似值,精确到的具有五位有效数字的近似值,精确到0.00010
19、.0001。2030.0203例例 1.6.31.6.3 和和都是具有三位有效数字的有效数。都是具有三位有效数字的有效数。 但要注意,但要注意,0.0203和和 0.020300就不同了,前者仅具有三位有效数字,就不同了,前者仅具有三位有效数字, 即仅精确即仅精确。其中每其中每 到到 0.0001 0.0001 ;而后者则具有五位有效数字,即精确到;而后者则具有五位有效数字,即精确到0.0000010.000001。可见,。可见,两者的精确程度大不相同,后者远较前者精确(差两者的精确程度大不相同,后者远较前者精确(差100100倍)。因此,有倍)。因此,有另一种情况,另一种情况, 0.1524
20、x *0.154x 例如例如,*x0.0016这时这时的误差为的误差为值超过值超过 0.00050.0005(第三位小数的半个单位),但却(第三位小数的半个单位),但却没有超过没有超过0.005(第二(第二位小数的半个单位),即位小数的半个单位),即*0.00050.005xx注注 用计算机进行的数值计算,由于受到计算机字长的限制,要求输入用计算机进行的数值计算,由于受到计算机字长的限制,要求输入的数有一定的位数,计算的结果也只保留一定的位数,且所保留下来的的数有一定的位数,计算的结果也只保留一定的位数,且所保留下来的不一定都是有效数字,同时也不是所有的有效数字都可保留下来。不一定都是有效数字
21、,同时也不是所有的有效数字都可保留下来。 ,其绝对,其绝对显然,显然, 虽然有三位小数但却只精确到第二位小数,因此,它只具虽然有三位小数但却只精确到第二位小数,因此,它只具有二位有效数字。有二位有效数字。其中其中1 1和和5 5都是准确数字,而第三位数字都是准确数字,而第三位数字4 4就不再是准就不再是准确数字了,我们就称它为确数字了,我们就称它为存疑数字存疑数字。*x1.6.2 1.6.2 有效数字与误差的关系有效数字与误差的关系 由由(1.6.2)(1.6.2)可知可知, ,从有效数字可以算出近似数的绝对误差限从有效数字可以算出近似数的绝对误差限; ;有有效数字的位数越多效数字的位数越多,
22、 ,其绝对误差限也就越小,且还可以从有效数字其绝对误差限也就越小,且还可以从有效数字求出其相对误差限。求出其相对误差限。当用当用(1.6.1)(1.6.1)表示的近似值表示的近似值,具有,具有位有效数字时,显然有位有效数字时,显然有*1110mx故由故由(1.6.2)(1.6.2)可知,其相对误差可知,其相对误差*1111110( )12( )10*102m nnrmxxx (1.6.3)故相对误差限为故相对误差限为111102n (1.6.4) *xn 由由(1.6.4)(1.6.4)可见可见, ,有效数字的位数反映了近似值的相对精确度。有效数字的位数反映了近似值的相对精确度。 上述关系的逆
23、也是成立的,即当用上述关系的逆也是成立的,即当用 (1.6.1) (1.6.1) 表示的近似值,如果表示的近似值,如果其相对误差能满足其相对误差能满足*111( )102(1)nrx (1.6.5)则则至少具有至少具有位有效数字。这是因为位有效数字。这是因为: :由由(1.6.5)(1.6.5)及及 *11110mx有有*111111( )( )(1) 1010102(1)2mnm nrxxx *xn即即至少具有至少具有位有效数字。位有效数字。*xn例例1.6.4 1.6.4 当用当用3.14163.1416来表示的近似值时来表示的近似值时, ,它的相对误差是多少它的相对误差是多少? ?解解
24、3.14163.1416具有五位有效数字具有五位有效数字, ,13,由,由(1.6.3)(1.6.3)有有*5 1411( )10102 36rx 例例1.6.51.6.5 为了使积分的近似值的相对误差不超过为了使积分的近似值的相对误差不超过0.1%0.1%,问至少要取,问至少要取几位有效数字几位有效数字? ?解解 可以知道可以知道I=0.7476I=0.7476,这样,这样17,由,由(1.6.3)(1.6.3)有有*11( )100.1%2 7nrI 3n *I*0.747I *I可解出可解出,即即只要取三位有效数字只要取三位有效数字就能保证就能保证的相对误差不大于的相对误差不大于0.1%
25、0.1%。7 7 误差的传播与估计误差的传播与估计1.7.1 1.7.1 误差估计的一般公式误差估计的一般公式 在实际的数值计算中,参与运算的数据往往都是些近似值,带有在实际的数值计算中,参与运算的数据往往都是些近似值,带有误差,这些数据误差在多次运算过程中会进行传播,使计算结果产生误差,这些数据误差在多次运算过程中会进行传播,使计算结果产生误差,而确定计算结果所能达到的精度显然是十分重要的,但往往很误差,而确定计算结果所能达到的精度显然是十分重要的,但往往很困难。不过,对计算误差作出一定的定量估计还是可以做到的。下面困难。不过,对计算误差作出一定的定量估计还是可以做到的。下面利用利用函数泰勒
26、(函数泰勒(TaylorTaylor)展开式)展开式推出误差估计的一般公式。推出误差估计的一般公式。12( ,)yf x x*1x*2x1x2x*y*12(,)yf xx12( ,)f x x*12( , )x x考虑二元函数考虑二元函数,设,设和和分别是分别是和和的近似值,的近似值,是函数值是函数值的近似值,且的近似值,且,函数,函数在点在点处的泰勒展开式为:处的泰勒展开式为:*12121122122* 2*11112221122* 21222( ,)( *,*) () ()() () 1()()2()()()2!()() fff x xf xxxxxxxxffxxxxxxxx xfxxx
27、y略高阶小量,则上式可简化为略高阶小量,则上式可简化为)()(1*11xxx)()(2*22xxx式中,式中,和和一般都是小量值,如忽一般都是小量值,如忽*12121212(,)(,)()()()()fff x xf xxxxxx*12121212( )*( ,)( *, *) ()( ) ()( )ffyy yf x xf xxxxxx (1.7.1))(1x)(2x的绝对误差增长因子,它们分别表示绝对误差的绝对误差增长因子,它们分别表示绝对误差和和经过传播经过传播因此,因此,的绝对误差为的绝对误差为*y)(1x)(2x*1)(xf*2)(xf*y式中,式中,和前面和前面的系数的系数和和分别
28、是分别是和和对对*1x*2x由(由(1.7.11.7.1)可得出)可得出的相对误差:的相对误差:后增大或缩小的倍数。后增大或缩小的倍数。*y (1.7.21.7.2) *1212*1212*12()()( )( )()()*()()()()rrrxxyffyyxyxyxxffxxyxyx*1()rx*2()rx*1*1()xfyx*2*2()xfyx*1x式中,式中,和和前面的系数前面的系数和和分别是分别是经过传播后增大或缩小的倍数。经过传播后增大或缩小的倍数。*2x*1()rx*2()rx和和对对的相对误差增长因子,它们分别表示相对误差的相对误差增长因子,它们分别表示相对误差和和*y2200
29、V1 . 010I例例1.7.11.7.1 用电表测得一个电阻两端的电压和流过的电流范围分别为用电表测得一个电阻两端的电压和流过的电流范围分别为 (伏特(伏特) )和和(安培(安培),),求这个电阻的阻值求这个电阻的阻值其绝对误差和相对误差。其绝对误差和相对误差。,并估算,并估算RVRI*22022()10R 欧姆由(由(1.7.11.7.1)可计算)可计算*R的绝对误差:的绝对误差: *2*1( ) ()( ) ()( )( )( )RRVRVIVIVIII将它们带入上式,即可估算出的绝对误差:将它们带入上式,即可估算出的绝对误差:*220( )V 伏( )2V(伏)*10I (安)( )0
30、.1I(安);,令令,* 2211220( )( )( )20.1 0.42( )10(10)VRVIII *( )0.42( )0.01911.91%22rRRR解解 由欧姆定律,有由欧姆定律,有 (1.7.11.7.1)和()和(1.7.21.7.2)可推广到更为一般的多元函数)可推广到更为一般的多元函数 中,只要将函数中,只要将函数 在点在点 处作泰勒展开,处作泰勒展开,12( ,)nyf x xx),(21nxxxf),(*2*1nxxx)(,),(),(21nxxx等小量的高阶项,即可得到函数的等小量的高阶项,即可得到函数的近似值的绝对误差和相对误差的估算式分别为:近似值的绝对误差和
31、相对误差的估算式分别为:并略去其中的并略去其中的*1( )()()niiifyxx (1.7.3)和和*1()()()nirriiixfyxyx (1.7.4) 对的绝对误差和相对误差的增长因子。对的绝对误差和相对误差的增长因子。*(1,2, , )ix in上两式中的各项上两式中的各项 和和 分别为各个分别为各个*()ifx*() (1,2, )iixfinyx 从(从(1.7.31.7.3)和()和(1.7.41.7.4)可知,误差增长因子的绝对值很大时,数据误)可知,误差增长因子的绝对值很大时,数据误差在运算中传播后,可能会造成结果的很大误差。凡原始数据的微小变化可差在运算中传播后,可能
32、会造成结果的很大误差。凡原始数据的微小变化可能引起结果的很大变化的这类问题能引起结果的很大变化的这类问题, ,称为称为病态问题病态问题或或坏条件问题坏条件问题。 可以利用可以利用(1.7.3) (1.7.3) 和(和(1.7.41.7.4)对算术运算中数据误差传播规律)对算术运算中数据误差传播规律作一具体分析。作一具体分析。11( )nniiiixx (1.7.5)*11nniriniiiixxx (1.7.6)1.7.2 1.7.2 误差在算术运算中的传播误差在算术运算中的传播 由由(1.7.3) (1.7.3) 和(和(1.7.41.7.4)有)有(1 1)加,减运算)加,减运算及及 *1
33、21212*1212rrrxxxxxxxxxx 由由(1.7.5)(1.7.5)可知:近似值之和的绝对误差等于各近似值绝对误差的可知:近似值之和的绝对误差等于各近似值绝对误差的代数和。两数代数和。两数 和和 相减,由相减,由(1.7.6)(1.7.6)有有2x1x 当当 ,即大小接近的两个同号近似值相减时,由上,即大小接近的两个同号近似值相减时,由上式可知,这时式可知,这时 可能会很大,说明计算结果的有效可能会很大,说明计算结果的有效数字将严重丢失,计算精度很低。数字将严重丢失,计算精度很低。 因此在实际计算中,应尽量设法避开相近数的相减。当实因此在实际计算中,应尽量设法避开相近数的相减。当实
34、在无法避免时,可用在无法避免时,可用变换计算公式变换计算公式的办法来解决。的办法来解决。即即 *121212*1212rrrxxxxxxxxxx*12rxx*12xx 例例1.7.3 1.7.3 当当 很小时,很小时, ,如要求,如要求 的值,可利用三角的值,可利用三角恒等式恒等式 进行公式变换后再来计算。同理,也可把进行公式变换后再来计算。同理,也可把 展开成泰勒级数后,按展开成泰勒级数后,按 来进行计算。这两种算法都避开了两个相近数相减的不利情况。来进行计算。这两种算法都避开了两个相近数相减的不利情况。 例例1.7.21.7.2 当要计算当要计算 ,结果精确到第五位数字时,至少取到,结果精
35、确到第五位数字时,至少取到 和和 ,这样,这样 才能达到具有五位有效数字的要求。如果变换算式:才能达到具有五位有效数字的要求。如果变换算式: 也能达到结果具有五位有效数字的要求,而这时也能达到结果具有五位有效数字的要求,而这时 和和 所需的有所需的有 效位数只要五位,远比直接相减所需有效位数(八位)要少。效位数只要五位,远比直接相减所需有效位数(八位)要少。 3.0133.011.734935231.732050833.0132.8844 1033.01 30.013.0132.8843 101.7349 1.73213.0133.013xcos1x 1 cosx21 cos2sin2xxco
36、sx241cos2 !4 !xxx (2 2)乘法运算)乘法运算 由(由(1.7.31.7.3)及()及(1.7.41.7.4)有)有 因此,近似值之积的相对误差等于相乘各因子的相对误差的代数和。因此,近似值之积的相对误差等于相乘各因子的相对误差的代数和。当乘数的绝对值很大时,乘积的绝对值误差当乘数的绝对值很大时,乘积的绝对值误差 可能会很大,因此可能会很大,因此也应设法避免。也应设法避免。*111nnnijiiijjixxx (1.7.7)和和 *11nnririiixx (1.7.8)1niix(3 3)除法运算)除法运算 由(由(1.7.31.7.3)及()及(1.7.41.7.4)有)
37、有 由由(1.7.101.7.10)可知,两近似值之商的相对误差等于被除数的相对可知,两近似值之商的相对误差等于被除数的相对误差与除数的相对误差之差。误差与除数的相对误差之差。 又由又由(1.7.91.7.9)可知,当除数可知,当除数 的绝对值很小,接近于零时,商的绝对值很小,接近于零时,商的绝对误差的绝对误差 可能会很大,甚至造成计算机的可能会很大,甚至造成计算机的“溢出溢出”错错误故应设法避免让绝对值太小的数作为除数。误故应设法避免让绝对值太小的数作为除数。 *11112122*22221rrxxxxxxxxxxx (1.7.91.7.9)和和 *1122rrrxxxx (1.7.101.
38、7.10) *2x12xx (4 4)乘方及开方运算)乘方及开方运算 由(由(1.7.31.7.3)及()及(1.7.41.7.4)有)有 由(由(1.7.121.7.12)可知,乘方运算将使结果的相对误差增大为原值)可知,乘方运算将使结果的相对误差增大为原值 的的 (乘方的方次数)倍,降低了精度;开方运算则使结果的相对误差缩(乘方的方次数)倍,降低了精度;开方运算则使结果的相对误差缩 小为原值小为原值 的的 ( 为开方的方次数),精度得到提高。为开方的方次数),精度得到提高。 综上分析可知,大小相近的同号数相减,乘数的绝对值很大,以及综上分析可知,大小相近的同号数相减,乘数的绝对值很大,以及
39、除数接近于零等,在数值计算中都应设法避免。除数接近于零等,在数值计算中都应设法避免。 1*ppxp xx (1.7.11)及及 *prrxpx (1.7.12)xpx1qq1.7.3 1.7.3 对对1.3.11.3.1中算例的误差分析中算例的误差分析序号序号近似值近似值 真真 值值 绝对误差绝对误差 相对误差相对误差 10.0142 0.0355=3.55% 0.000955 60.0355=21.3% 234 应用上述误差估计的公式,可对应用上述误差估计的公式,可对1.3.11.3.1中提出的算例中的各种中提出的算例中的各种算式作出误差估计和分析,从而可以比较出它们的优劣来。见结算式作出误
40、差估计和分析,从而可以比较出它们的优劣来。见结果下表果下表1.7.11.7.1。 27099 995.000245. 0000182. 00000255. 04.015712 00409.01576612 1577099%5 .99995. 0416667.01571121%589. 000589. 000523278.0157166121%53. 300589. 0600507614. 05770991270991%502. 00502. 0表表1.7.11.7.18 8 算法的相对稳定性算法的相对稳定性 通过前面对误差传播规律的分析和对通过前面对误差传播规律的分析和对1.31.3算例的剖析
41、,可知同一问题算例的剖析,可知同一问题当选用不同的算法时,它们所得到的结果有时会相差很大,这是因为运当选用不同的算法时,它们所得到的结果有时会相差很大,这是因为运算的舍入误差在运算过程中的传播常随算法而异。凡一种算法的计算结算的舍入误差在运算过程中的传播常随算法而异。凡一种算法的计算结果受舍入误差的影响小者称它为数值稳定的算法。下面再通过其他一些果受舍入误差的影响小者称它为数值稳定的算法。下面再通过其他一些例子来进一步说明算法稳定性的概念。例子来进一步说明算法稳定性的概念。 例例1.8.1 1.8.1 解方程解方程 (1.8.1) 解解 由韦达定理可知,此精确解为由韦达定理可知,此精确解为 如
42、果利用求根公式如果利用求根公式299101100 xx 91210 ,1xx21,242bbacxa (1.8.2) 来编制计算机程序,在字长为来编制计算机程序,在字长为8 8基底为基底为1010的计算机上进行运算,则的计算机上进行运算,则由于计算机实际上采用的是规格化浮点数的运算,由于计算机实际上采用的是规格化浮点数的运算, 这时这时 的第二项最后两位数的第二项最后两位数“0101”,由于计算机字长的限制,在机器上表示,由于计算机字长的限制,在机器上表示不出来,故在计算机对其舍入运算(用不出来,故在计算机对其舍入运算(用 标记)时标记)时910101010.1 100.0000000001
43、10b 10101090.1 100.0000000001 100.1 1010b 2299941014 1010bac 29991410101022bbacxa 299241010022bbacxa 这样算出的根显然是严重失真的(这样算出的根显然是严重失真的( 精确解精确解 ),这说明直接利用),这说明直接利用(1.8.21.8.2)求解方程()求解方程(1.8.11.8.1)是不稳定的。其原因是在于当计算机进行加减运算时)是不稳定的。其原因是在于当计算机进行加减运算时要对阶舍入计算,实际上受到机器字长的限制,在计算要对阶舍入计算,实际上受到机器字长的限制,在计算 时,绝对值小的数(时,绝对
44、值小的数(1 1)被绝对值大的数被绝对值大的数( )( )“淹没淹没”了,在计算了,在计算 时,时, 被被 “淹没淹没”了;这些相对小的数被了;这些相对小的数被“淹没淹没”后就无法发挥其应有的影响,由此带来误后就无法发挥其应有的影响,由此带来误差,造成计算结果的严重失真。同样道理,当多个数在计算机中相加时,最好从其差,造成计算结果的严重失真。同样道理,当多个数在计算机中相加时,最好从其中绝对值最小的数到绝对值最大的数依次相加,可使和的误差减小。这时,如要提中绝对值最小的数到绝对值最大的数依次相加,可使和的误差减小。这时,如要提高计算的数值稳定性,必须改进算法。高计算的数值稳定性,必须改进算法。
45、 在此例中,由于算出的根是可靠的,故可利用在此例中,由于算出的根是可靠的,故可利用根与系数的关系式根与系数的关系式 来计算来计算 , , 有有 所得结果很好。这说明第二种算法有较好的数值稳定性(注意在利用根与系数所得结果很好。这说明第二种算法有较好的数值稳定性(注意在利用根与系数关系式求第二个根时,必须先算出绝对值较大的一个根,然后再求另一个根,才能关系式求第二个根时,必须先算出绝对值较大的一个根,然后再求另一个根,才能得到精度较高的结果)。得到精度较高的结果)。21x b910 24bac94 102910112cxxa2x929111011 10cxa x例例1.8.21.8.2 试计算积
46、分试计算积分解解 由由分部积分分部积分可得可得 因此有递推公式因此有递推公式 用上面的递推公式,在字长为用上面的递推公式,在字长为6 6,基底为,基底为1010的计算机上,从的计算机上,从 出发计算前几个积分值,其结果如表出发计算前几个积分值,其结果如表1.8.11.8.1。110(1,2,)nxnEx edx n1111010nxnxnEx enxedx11(2,3,)nnEnEn 11Ee1E 表表1.8.110.36787920.26424230.20727440.17090450.14548060.12712070.11016080.1187209-0.068480kkE 表表1.8.
47、11.8.1 被积函数被积函数 在积分限区间在积分限区间 内都是正值,积分值内都是正值,积分值 取取三位有效数字的精确结果为三位有效数字的精确结果为0.09160.0916,但上表中,但上表中 =-0.068480=-0.068480却是负却是负值,与值,与0.09160.0916相差很大。怎么会出现这种现象?可分析如下。相差很大。怎么会出现这种现象?可分析如下。 由于在计算时有舍入误差约为由于在计算时有舍入误差约为 且考虑以后的计算都不再另有舍入误差。此对后面各项计算的影响为且考虑以后的计算都不再另有舍入误差。此对后面各项计算的影响为1nxx e(0,1)9E9E74.412 1021111
48、 2()1 221 22!EEEE 3111 3(1 22! )1 3(1 23! )EEE 4111 41 3(1 2)3! 1 41 3(1 2)4!EEE 91 9 1 89!E 这样,算到时产生的误差为这样,算到时产生的误差为 这就是一个不小的数值了。这就是一个不小的数值了。 可以改进算法来提高此例的数值稳定性,即将递推公式改写为可以改进算法来提高此例的数值稳定性,即将递推公式改写为 从后向前递推计算时,从后向前递推计算时, 的误差下降为原来的的误差下降为原来的 ,因此只要,因此只要 取得足够大,误差逐次下降,其影响就会越来越小。由取得足够大,误差逐次下降,其影响就会越来越小。由 可知
49、:可知: 当当 时时 。因此。因此 可取作为初始值进行递推计算。可取作为初始值进行递推计算。 由于由于 ,故,故 的误差约为的误差约为 。在计算时误差下降到。在计算时误差下降到 ,计算,计算 时误差已下降到时误差已下降到 ,结果如表,结果如表1.8.21.8.2。79!9! 4.412 100.610111nnEEnnE1nn11130011nxnEx edxx dxnn 0nE 20E20121E200E121110.0024212015E84 1020200.00000000.000000019190.05000000.050000018180.05000000.050000017170.
50、05277780.052777816160.05571900.055719015150.06694770.066947714140.06273220.062732213130.06694770.066947712120.07177330.071773311110.07735230.077352310100.08387710.08387719 90.09161230.0916123kkE 表表1.8.21.8.2 这样得到的这样得到的 =0.0916123=0.0916123已经很精确了。可见经过改进后的新算已经很精确了。可见经过改进后的新算法具有很好的稳定性。法具有很好的稳定性。 例例1.8.
51、3 1.8.3 对于小的值,计算对于小的值,计算 。 解解 如果用如果用 直接进行计算,其稳定性是很差的,因为两个相近数直接进行计算,其稳定性是很差的,因为两个相近数相减会严重丢失有效数字,产生很大的误差。因此得采用合适的算法相减会严重丢失有效数字,产生很大的误差。因此得采用合适的算法来保证计算的数值稳定性。可将来保证计算的数值稳定性。可将 在点在点 附近展开成幂级数:附近展开成幂级数: 则可得则可得 按上式计算就有很好的按上式计算就有很好的数值稳定性数值稳定性。 9E1xe 1xe xe0 x 2312!3!xxxex2112!3!xxxex 通过以上这些例子,可以知道算法的数值稳定性对于数
52、值计算的重要通过以上这些例子,可以知道算法的数值稳定性对于数值计算的重要性了。如无足够的稳定性,将会导致计算的最终失败。为了性了。如无足够的稳定性,将会导致计算的最终失败。为了防止误差传播防止误差传播、积累积累带来的危害,提高计算的稳定性,将前面分析所得的各种结果归纳起带来的危害,提高计算的稳定性,将前面分析所得的各种结果归纳起来,得到数值计算中应注意如下几点:来,得到数值计算中应注意如下几点:v (1 1)选用数值稳定的计算方法,避开不稳定的算式。)选用数值稳定的计算方法,避开不稳定的算式。v (2 2)注意简化计算步骤及公式,设法减少运算次数,选用运算次数少的算)注意简化计算步骤及公式,设
53、法减少运算次数,选用运算次数少的算式,尤其是乘方幂次要低,乘法和加法的次数要少,以减少舍入误差的积式,尤其是乘方幂次要低,乘法和加法的次数要少,以减少舍入误差的积累,同时也可节约计算机的机时。累,同时也可节约计算机的机时。255248163264128xx xxxxxxx 则只要做则只要做1414次乘法运算即可。次乘法运算即可。例例1.8.41.8.4 要计算要计算 的值时,如果逐个相乘要做的值时,如果逐个相乘要做254254次乘法,但若写成次乘法,但若写成255xv(3 3)应合理安排运算顺序,防止参与运算的数在数量级相差)应合理安排运算顺序,防止参与运算的数在数量级相差悬殊时,悬殊时,“大数大数”淹没淹没“小数小数”的现象发生。多个数相加时,最的现象发生。多个数相加时,最好从其中绝对值最小的数到绝对值最大的数依次相加;多个数相好从其中绝对值最小的数到绝对值最大的数依次相加;多个数相乘时,最好从其中有效位数最多的数到有效位数最少的数依次相乘时,最好从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 借款合同范本中介版
- 云南购房合同范本
- 从化学校食堂承包合同范本
- 保洁公司人员合同范本
- pu线条安装合同范本
- fob合同范本日文
- 包架子合同范本
- 公司代管合同范本
- 共同经营餐厅合同范本
- 三方合作民宿协议合同范本
- 智能财务共享在京东的应用研究
- 卫生和微生物基础知识培训-
- 2023年镇江市高等专科学校单招综合素质题库及答案解析
- XX拦河堰工程施工组织设计
- GB/T 9787-1988热轧等边角钢尺寸、外形、重量及允许偏差
- GB/T 7031-2005机械振动道路路面谱测量数据报告
- 马工程教材《公共财政概论》PPT-第十二章 财政体制
- GB/T 23457-2009预铺/湿铺防水卷材
- GB/T 17614.1-2015工业过程控制系统用变送器第1部分:性能评定方法
- 财务工作督导检查记录表
- 舆情大数据监测平台建设方案
评论
0/150
提交评论