1、内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作数值计算中的误差数值计算中的误差误差及其来源误差及其来源误差限和有效数字误差限和有效数字相对误差与有效数字的联系相对误差与有效数字的联系算法的稳定性分析算法的稳定性分析主要内容主要内容内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作 数值计算方法数值计算方法,是指将所欲求解的数学模型(数学问,是指将所欲求解的数学模型(数学问题)简化成一系列算术运算和逻辑运算,以便在计算机上题)简化成一系列算术运算和逻辑运算,以便在计算机上求出问题的数值解,并对算法的收敛性、稳定性和误差进求出
2、问题的数值解,并对算法的收敛性、稳定性和误差进行分析、计算。行分析、计算。一、误差分析一、误差分析1 数值计算方法数值计算方法2 误差的含义及其理解误差的含义及其理解误差无处不在。一个合理的算法也可能得出错误的结果。误差无处不在。一个合理的算法也可能得出错误的结果。内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作3 算法的数值稳定性算法的数值稳定性 算法算法选得不恰当,不仅影响到计算的速度和效率,还会选得不恰当,不仅影响到计算的速度和效率,还会由于计算机计算的近似性和误差的传播、积累直接影响到计由于计算机计算的近似性和误差的传播、积累直接影响到计算结果的精度
3、,有时甚至直接影响到计算的成败。不合适的算结果的精度,有时甚至直接影响到计算的成败。不合适的算法会导致计算误差达到不能容许的地步,而计算最终失败,算法会导致计算误差达到不能容许的地步,而计算最终失败,这就是算法的数值稳定性问题。这就是算法的数值稳定性问题。011()nnnnp xa xa xaxa0121()()nnp xa xa xaxaxa内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作二、误差的种类及其来源二、误差的种类及其来源模型误差模型误差观测误差观测误差截断误差截断误差舍入误差舍入误差(凑整误差凑整误差)过失误差或疏忽误差过失误差或疏忽误差非过失
4、误差非过失误差内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作1、例子、例子31212x问题:问题:计算算式计算算式 的近似值:的近似值:可用下列四个式子进行计算:可用下列四个式子进行计算:分别采用近似值:分别采用近似值:4.15724166.112172和和32121x6121x9970 2x 19970 2x 内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作错误的结果错误的结果内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作 因此,在研究算法的同时,还必须因此,在研究算法的同时,还必
5、须正确掌握误差的基本概念,以及误差在正确掌握误差的基本概念,以及误差在近似值运算中的传播规律,误差分析、近似值运算中的传播规律,误差分析、估计的基本方法和算法的数值稳定性概估计的基本方法和算法的数值稳定性概念。否则,一个合理的算法也可能会得念。否则,一个合理的算法也可能会得出一个错误的结果来。出一个错误的结果来。内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作解方程解方程010)110(992xx21,242bbacxa 来编制计算机程序,在字长为8,基底为10的计算机上进行运算,则由于计算机实际上采用的是规格化浮点数的运算,这时00000000.0101.
6、0110109b011010910101010101.01000000000.0101.0 b9929210104)110(4 acb的第二项中最后两位数“01”,由于受计算机字长的限制,在机器上表示不出来,于是有:1,109xx精确解精确解:求根公式:求根公式:内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作29991410101022bbacxa 299241010022bbacxa 对吗?不对,那么需要把对吗?不对,那么需要把算法算法进行改进!这里利用根与进行改进!这里利用根与系数的关系:系数的关系:acxx21929111011 10cxa x于是有
7、:内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作三、三、绝对误差和相对误差绝对误差和相对误差1、绝对误差、绝对误差设某一个量的准确值(称之为真值)为设某一个量的准确值(称之为真值)为 ,其近似值,其近似值为为 ,则,则 与与 的差的差称为近似值称为近似值 的的绝对误差绝对误差,简称误差。当,简称误差。当 时,时,称为称为亏亏近似值或近似值或弱弱近似值,反之则称为近似值,反之则称为盈盈近似值或近似值或强强近似值。近似值。xx*()(1)xxx0)(xx*x*x内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作2、绝对误差限,
8、或精度、绝对误差限,或精度)2()(*xxxx此 称为近似值 的绝对误差限绝对误差限,或,或精度精度。由于真值往往是未知或无法知道的,因此 的准确值(真值)也就是无法求出。但一般可估计出此绝对误差 的上限,也即可以求出一个正数 ,使)(x)(x内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作(二)、相对误差和相对误差限(二)、相对误差和相对误差限1、为什么要讨论相对误差为什么要讨论相对误差2、相对误差、相对误差定义:绝对误差与真值之比定义:绝对误差与真值之比*()()(4)rxx xxxx4、绝对误差与相对误差的关系:*()()rxxx3、相对误差限)(xr
9、内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作 因为一个量的真值往往是不可能求出的,所以在求相对误差时,常用绝对误差与近似值的比来描述。于是有:*()()rxxx*()()100rxxx百分误差:内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作(三)、有效数字及其与误差的关(三)、有效数字及其与误差的关系系1、有效数字、有效数字分析:当近似值分析:当近似值 的误差限是其某一位上的误差限是其某一位上的半个单位时,就称其的半个单位时,就称其“准确准确”到这一位,到这一位,且从该位起直到前面且从该位起直到前面第一位第一位非零数
10、字为止的非零数字为止的所有数字都称为所有数字都称为有效数字有效数字。*x内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作例如例如 的五、六位有的五、六位有效数字分别为:效数字分别为:14159265.314159.3,1416.321一般说,设有一个数一般说,设有一个数 ,其近似值,其近似值 的规格化形式的规格化形式式中:式中:都是都是0,1,2,3,4,5,6,7,8,9中的一个数中的一个数字,字,;n是正整数;是正整数;m是整数。是整数。*x)5(10.021*mnxn,2101x内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾
11、 制作制作)6(1021)(*nmxxx则称则称 为具有为具有n位有效数字的有效数,或称为它位有效数字的有效数,或称为它精度到精度到 。其中每一位数字。其中每一位数字 都都 是的有效数字。是的有效数字。*xnm10n,21*x若若 的误差限为的误差限为*x内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作几点注意几点注意203(3),0.0203(3),0.0203(3),0.020300(5)*0.1524x 0.15 4x 存凝数字存凝数字内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作2、有效数字与误差的关系、有效数字
12、与误差的关系由上式,可以从有效数字算出近似值得绝对误差限;有效数字的位数越多,其绝对误差限也就越小。)6(1021)(*nmxxx绝对误差限相对误差限11110 (7)2n 参考:易大义,参考:易大义,计算方法计算方法,浙江大学,浙江大学内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作绝对误差和相对误差的计算以及有效数字?绝对误差和相对误差的计算以及有效数字?例1 当用 来表示 的近似值时,它的相对误差是多少?1416.3解:具有五位有效数字,由(7)有1416.331415*106110321)(xr计算题内江师范学院数学与信息科学学院内江师范学院数学与信
13、息科学学院 吴开腾吴开腾 制作制作例2 要使积分 的近似值 的相对误差不超过0.1,问至少取几位有效数字?102dxeIx*I解:可以知道,这样 ,7467.0I71%1.010721)(1*nrx可得可得n=3,即,即 只要取三位有效数字只要取三位有效数字 ,就能保证就能保证 的相对误差不大于的相对误差不大于0.1%。*I*0.747I*I内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作四、误差的传播与估计四、误差的传播与估计1、误差估计的一般公式、误差估计的一般公式在实际的数值计算中,参与运算的数据往往都在实际的数值计算中,参与运算的数据往往都是些近似值
14、,带有误差。这些数据误差在多次是些近似值,带有误差。这些数据误差在多次运算过程中会进行传播,使计算结果产生误差。运算过程中会进行传播,使计算结果产生误差。而确定计算结果所能达到的精度,显然是十分而确定计算结果所能达到的精度,显然是十分重要的,但这往往也是件很困难的事。但做一重要的,但这往往也是件很困难的事。但做一些有用的估计还是可以做到的。这里介绍一种些有用的估计还是可以做到的。这里介绍一种常用的误差估计的一般公式,它是利用函数的常用的误差估计的一般公式,它是利用函数的泰勒泰勒(Taylor)展开得到的。)展开得到的。内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾
15、制作制作以二元函数为例),(21xxfy)(.)()(.)(),(),()(2*21*1*2*121*xxfxxfxxfxxfyyy绝对误差:绝对误差:*2*1)()(xfxf和分别是 和 对 的绝对误差增长因子,它们分别表示绝对误差 经过传播后增大或缩小的倍数。*2x*1x*y)()(21xx和内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作)(.)()(.)()(.)()(.)()()(2*2*21*1*1*2*2*1*1*xxfyxxxfyxyxxfyxxfyyyrrr相对误差:相对误差:*2*2*1*1)()(xfyxxfyx和分别是分别是 和和 对
16、对 的绝对误差增长因子,它的绝对误差增长因子,它们分别表示绝对误差们分别表示绝对误差 经过传播后增大或缩小的倍数。经过传播后增大或缩小的倍数。*2x*1x*y)()(2*1*xxrr和内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作2、误差在算术运算中的传播、误差在算术运算中的传播1、加、减运算)18()()(11niiniixx)19()()(1*1*1*niirniiiniirxxxx内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作)()(2*2*1*2*2*1*121*xxxxxxxxxrr)()()(2*2*1*2
17、2*2*1*121*xxxxxxxxxxrrr相减:和两数21xx即:内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作例如,当要求计算例如,当要求计算 ,结果精确到第,结果精确到第五位数字时,至少取到(八位)五位数字时,至少取到(八位)301.37349352.101.37320508.13 3108844.2301.3才能达到具有五位有效数字的要求。如果变换算式(五位):3108843.27321.17349.101.0301.3301.3301.3内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作9970 2x 6(21
18、)x 3、例题分析、例题分析19970 2x 32121x问题:利用问题:利用 计算代数式计算代数式 的值,的值,并分析对计算结果的影响。并分析对计算结果的影响。72532121x内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作计算结果计算结果内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作分析算法对数值计算结果有重要的影响。分析算法对数值计算结果有重要的影响。由于两个近似数相减,使计算结果的有效由于两个近似数相减,使计算结果的有效数字位数显著减少,以第二种算法尤为严数字位数显著减少,以第二种算法尤为严重。而后两种算法中,
19、则有效数字的损失重。而后两种算法中,则有效数字的损失较少。又由于近似值的较少。又由于近似值的p次乘方的相对误差次乘方的相对误差是该近似值本身的相对误差的是该近似值本身的相对误差的p倍,因此,倍,因此,在后两种算法中以最后一种为最佳。在后两种算法中以最后一种为最佳。目的:目的:分析:分析:内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作l应选用数值稳定的计算算法,避开不稳定的算式;l注意简化计算步骤,减少运算次数;l大数“淹没”小数的现象发生;l应避免两相近数相减(变换);l绝对值太小的数不宜作为除数;l注意计算过程中误差的传播与积累。五、防止误差传播的若干方
20、法五、防止误差传播的若干方法内江师范学院数学与信息科学学院内江师范学院数学与信息科学学院 吴开腾吴开腾 制作制作介绍了误差理论的基本概念,误差在近似值运算中介绍了误差理论的基本概念,误差在近似值运算中的传播规律以及估算方法,以及数值稳定性的概念;的传播规律以及估算方法,以及数值稳定性的概念;误差的表示方法:绝对误差和相对误差;误差的表示方法:绝对误差和相对误差;误差产生的原因:过失误差和非过失误差;误差产生的原因:过失误差和非过失误差;计算机计算受计算机的字长的限制:因而有效数字计算机计算受计算机的字长的限制:因而有效数字的概念很重要;的概念很重要;常用的误差估计方法:泰勒展开方法;常用的误差估计方法:泰勒展开方法;防止误差传播的几个常用方法。防止误差传播的几个常用方法。本章小结本章小结作业:作业:P11 1,2,7,8,9,12,13