计算方法课件 第一章数值计算中的误差
- 格式:pdf
- 大小:143.08 KB
- 文档页数:34
第一章数值计算中的误差§1 引言一、 数值计算的概念一般工程和技术问题的求解过程:物理模型⎯⎯⎯→建模数学模型⎯⎯⎯⎯→数值计算结果数值计算的概念:用计算工具求出数学问题数值解的全过程,包括算法的选择、算法的分析(收敛性、稳定性和误差分析)。
二、算法对结果的影响1.算法的优劣影响计算的效率例1 计算多项式1110()n n n n p x a x a x a x a −−=++++"的值。
1) 直接计算(0,1,,)i i a x i n =",再逐项相加,共需要(1)/2n n +次乘法和n 次加法运算。
2) 著名的秦九韶算法:12101()()((()))();1;n n n n i p x p x a x a x a x a x a p x p a for i n to p p x a end −−−=+++++=⎧⎪=⎪⎨=⋅+⎪⎪⎩""将改写为,然后用下述方法计算共需n 次乘法和n 次加法。
2.算法的优劣影响结果的精度,甚至导致计算失败例2 计算31x ⎛⎞=。
6617/5)17/12)11)0.00409600.0052327829911/630.005232780.005019954(990.005076140.00504626−−≈≈−−−+序号算式结果结果结果1与结果2采用了相差不大的的近似值1.4和1.4166,而不同的算法得出的结果却五花八门、各不相同,特别是算法2的结果显然错误。
§2 误差的种类及其来源¾模型误差:建模中的模型误差。
¾观测误差:建模和具体运算过程中数据的观测误差。
¾截断误差:有限逼近无限时的误差,例如357≈−+−。
x x x x xsin/3!/5!/7!¾舍入误差:计算过程中四舍五入造成的误差。
§3绝对误差和相对误差*::x x 准确值或真值近似值一、 绝对误差和绝对误差限近似值*x 的绝对误差:*()x x x ε=−;当()0x ε>时,称*x 为亏近似值,反之称为盈近似值或强近似值。
绝对误差限η:*|()|||x x x εη=−≤二、 相对误差和相对误差限相对误差:*()()/()/rx x x x x x εε==−;实际中常用****()()/()/rx x x x x x εε==−代替。
相对误差限δ:|()|r x εδ≤注:绝对误差和相对误差是描述误差的两个度量,相比而言,相对误差更能反映误差的特性。
正如涨跌幅(%)比涨跌更能反映股票的上涨或下跌情况。
§4有效数字及其与误差的关系一、有效数字的概念当近似值*x的绝对误差限是某一位上的半个单位是,我们称其“准确”到这一位,且从该位起直到前面第一位非零数字为止的所有数字都称为有效数字。
例3 3.1415926π≈精确到小数点后4位的近似值为3.1416(4()0.510x ε−≤×),它具有5位有效数字;精确到小数点后5位的近似值为 3.14159(5()0.510x ε−≤×),它具有6位有效数字。
有效数字概念:设近似值*x 的规格化形式为*120.10m n x a a a =±×", (1.4.1)式中n 是正整数,m 是整数,12,,,n a a a "是0至9中的一个数字,10a ≠,若*x 的绝对误差限为*1|()|||102m n x x x ε−=−≤×, (1.4.2) 则称*x 为具有n 位有效数字的有效数或称它精确到10m-n ,12,,,n a a a "都是*x 的有效数字,其中11,,n a a −"都是准确数字,n a 可能与真值x 中的同一位数字相差1。
例4(1)3.14是π具有3位有效数字的近似值,精确到0.01;(2)0.302具有3位有效数字,精确到0.001; 0.30200具有5位有效数字,精确到0.00001;(3)*0.1524,0.154x x ==,*x 具有2位有效数字,精确到0.01,数字“4”称为存疑数字。
二、有效数字与相对误差的关系从前面的定义可看出,有效数字是通过绝对误差来定义的,有了绝对误差,就可知道有效数字,反之,知道了有效数字,也可得到绝对误差。
那么有效数字与误差的另一度量“相对误差”有怎样的关系呢?1. 有效数字⇒相对误差若(1.4.1)表示的近似值*x 具有n 位有效数字,则*1*1121()0.5101|()|||10.102m n n r m n x x x a a a a εε−−+−×=≤≤××" (1.4.3) 即111102n a δ−+=× (1.4.4) 是*x 的一个相对误差限。
2. 相对误差⇒有效数字若(1.4.1)表示的近似值*x ,如其相对误差*111|()|102(1)n rx a ε−+≤×+, (1.4.5) 则根据(1.4.5)和*11||(1)10m x a −<+×,有 **11111|()||()|(1)10102(1)0.510m n r m nx x x a a εε−−+−=×<+×××+=×故*x 至少具有n 位有效数字。
例5 * 2.72x =表示e 具有3位有效数字的近似值,它的相对误差限是多少?解 因为*2.720.27210x ==×,故*1312111|()|10100.2510222n rx a ε−+−+−≤×=×=××例 6 为了0.7467I ="的近似值*I 的相对误差不超过0.1%,问*I 至少应取几位有效数字? 解 要使*11|()|100.1%27n rI ε−+≤×<×,则21ln(1.410)3n −>−×≥,即*I 至少应取3位有效数字。
§5 误差的传播与估计把算法看作函数:()x y y f x ⎯⎯⎯→=算法输入输出:一、误差估计的一般公式1. 二元函数的误差估计公式设二元函数12(,)y f x x =,**12,x x 分别是12,x x 的近似值,***12(,)y f x x =是函数值y 的近似值,则(1)*y 的绝对误差***1212**1212()(,)(,)()()()()y y y f x x f x x f f x x x x εεε=−=−∂∂≈+∂∂, (1.5.1)这里**12(),(f f x x ∂∂∂∂称为**12,x x 对*y 的绝对误差增长因子,表示绝对误差12(),()x x εε经过12(,)f x x 传播后增大或缩小的倍数。
(2)*y 的相对误差为********1212**12()()/()()()()r r r y y y x x f f x x y x y x εεεε=∂∂≈+∂∂ (1.5.2) 这里****12**12(),()x x f f y x y x ∂∂∂∂称为**12,x x 对*y 的相对误差增长因子,表示相对误差**12(),()r r x x εε经过12(,)f x x 传播后增大或缩小的倍数。
推导过程:利用Talor 展开,略去高阶项(二次以上),得******1212112212******1212112212(,)(,)()()()()(,)(,)()()()()f f f x x f x x x x x x x x f f f x x f x x x x x x x x ∂∂≈+−+−∂∂∂∂⇒−≈−+−∂∂例7 用电表测得一个电阻两端的电压和流过的电流范围分别为V=220±2V,I=10±0.1A,求这个电阻的阻值R,并估算其绝对误差和相对误差。
解 由欧姆定律R=V/I,可得R 的近似值R *=220/10=22Ω,根据(1.5.1),得到R*的绝对误差*****21()()()()()()()()R f V R V I V I V I I I εεεεε∂∂≈+=−∂∂, 21220|()|20.10.421010R ε≤×−×=Ω,R*的相对误差为**|()||()/|0.42/22 1.91%r R R R εε=≤=。
2. 多元函数的误差估计公式 (1) 绝对误差*1()()()ni i if y x x εε=∂≈∂∑ (2) 相对误差*****1()(()ni r r i i ix f y x y x εε=∂≈∂∑二、误差在算术运算中的传播1.加减运算11()()nni i i i x x εε==≈∑∑,****11()()n ni r i r i i i x x x yεε==≈∑∑注:尽量避开相近数的减法运算。
例8计算−。
==,得到解1)取 1.73205083−=×,具有5位有效数字。
2.884410−2)变换计算公式−=+,==,得到取 1.73213−=×也具有5位有效数2.884310−字,而这时所需的有效数字仅5位,远少于1)中的8位。
2.乘法运算*111,()()()nnni j i i i j j ix x x εε===≠≈∑∏∏,**11()()nnri r i i i x x εε==≈∑∏注:乘数的绝对值很大时,尽量避免相乘。
3. 除法运算***11212*2(/)[()()]r r x x x x x x εεε≈−, ***1212(/)()()r r r x x x x εεε≈−注:尽量避免除数的绝对值很小的除法运算 4. 乘方、开方*1()()()p p x p x x εε−≈, **()()p r r x p x εε≈三、例2的误差分析例2计算3x ⎛⎞=。
6617/5)17/12)11)0.00409600.0052327829911/630.005232780.005019954(990.005076140.00504626−−≈≈−−−+序号算式结果结果¾算法1、2比算法3、4要差,原因是1、2中存在两相近数相减;¾算法3又比算法4差一些,原因是乘方的相对误差积累较大。
§6 算法的数值稳定性一、算法数值稳定性的含义凡一种算法的计算结果受舍入误差的影响小者称为数值稳定的算法。
例9 解方程299(101)100x x −++=。
解 由韦达定理,可得精确解为91210,1x x ==。
但若利用求根公式1,22b x a−±=, 在字长为8,基底为10的计算机上求解,则91010101091010.1100.0000000001100.11010b −=+=×+×=×=位,910=从而91210,0x x ==,2x 与精确解相差很大,原因是大数淹没小数。