数值计算误差.pptx
1误差误差 是人们用来描述数值计算中近似解的精确程度,是科学计算中的一个十是人们用来描述数值计算中近似解的精确程度,是科学计算中的一个十分重要的概念分重要的概念q 误差的来源误差的来源数值计算的误差l 从实际问题中抽象出数学模型从实际问题中抽象出数学模型 模型误差模型误差l 通过测量和实验得到模型中的各种数据通过测量和实验得到模型中的各种数据 观测误差观测误差l 数学模型的数值求解数学模型的数值求解 截断误差(方法误差)截断误差(方法误差)l 机器字长有限机器字长有限 舍入误差舍入误差在数值分析中,我们总假定数学模型是准确的,因而不考虑模型误差和观测误在数值分析中,我们总假定数学模型是准确的,因而不考虑模型误差和观测误差,主要研究差,主要研究截断误差截断误差和和舍入误差舍入误差对计算结果的影响对计算结果的影响第1页/共23页2误差举例例:例:近似计算近似计算解法之一解法之一:将将 作作Taylor展开后再积分展开后再积分S4R4取取则则称为称为 截断误差截断误差第2页/共23页3误差举例保留小数点后保留小数点后 4 位数字位数字舍入误差舍入误差第3页/共23页4绝对误差:绝对误差:绝对误差x 精确值精确值x*近似值近似值则称则称 *为为 绝对误差限绝对误差限/误差限误差限l 若存在一个正数若存在一个正数 *,使得,使得工程上通常记为:工程上通常记为:x=x*|e*|=|x*-x|*l 绝对误差绝对误差 可能取正,也可能取负可能取正,也可能取负l 绝对误差绝对误差 越小越具有参考价值越小越具有参考价值l 但但 绝对误差绝对误差 却不能很好地表示近似值的精确程度却不能很好地表示近似值的精确程度第4页/共23页5相对误差I can tell that this parts diameter is 20cm 0.1cm.Of course mine is more accurate!The accuracy relates to not only the absolute error,but also to the size of the exact valueI can tell that distance between two planets is 1 million light year 1 light year.第5页/共23页6相对误差相对误差:相对误差:x*-x er*=x l 若存在正数若存在正数 r*,使得,使得|er*|r*,则称则称 r*为为相对误差限相对误差限l 由于真值难以求出,通常也使用下面的定义作为相对误差由于真值难以求出,通常也使用下面的定义作为相对误差 x*-x er*=x*l 近似值的精确程度取决于近似值的精确程度取决于 相对误差相对误差 的大小的大小l 实际计算中我们所能得到的是实际计算中我们所能得到的是 误差限误差限 或或 相对误差限相对误差限第6页/共23页7有效数字有效数字:有效数字:若近似值若近似值 x*的误差限是某一位的半个单位,且该位到的误差限是某一位的半个单位,且该位到 x*的第一位非零数字共有的第一位非零数字共有 n 位,则称位,则称 x*有有 n 位有效数字位有效数字x*=a1.a2an 10m (a1 0)且有且有|x-x*|0.5 10m-n+1则则 x*有有 n 位有效数字位有效数字 设设 x*为为 x 的近似值,若的近似值,若 x*可表示为可表示为l 等价描述等价描述 第7页/共23页8有效数字例:例:=3.14159265 ,近似值,近似值 x1=3.1415,x2=3.1416问:问:x1,x2 分别有几位有效数字?分别有几位有效数字?例:例:写出下列各数的具有写出下列各数的具有 5 位有效数字的近似值位有效数字的近似值 187.9325,0.037855,8.000033187.93,0.037856,8.00004,5注:数字末尾的注:数字末尾的 0 不可以随意添加或省略!不可以随意添加或省略!第8页/共23页9有效数字思考:思考:设设 x*=a1.a2an 10m (a1 0),且,且|x-x*|0.5 10k则则 x*有有 m+1-k 位有效数字位有效数字?第9页/共23页10有效数字定理:定理:设近似值设近似值 x*可表示为可表示为 x*=a1.a2al 10m (a1 0),若若 x*具有具有 n 位有效数字,则其相对误差限满足位有效数字,则其相对误差限满足 1 r*2a1 10-(n-1)反之,若反之,若 x*的相对误差限满足的相对误差限满足 则则 x*至少有至少有 n 位有效数字。位有效数字。1 r*2(a1+1)10-(n-1)有效位数越多,有效位数越多,相对误差限越小相对误差限越小第10页/共23页11误差估计误差估计:误差估计:估计估计误差限误差限和和相对误差限相对误差限l 记记 (x*)为为 x*的误差限,则有的误差限,则有(x1*x2*)(x1*)+(x2*)(x1*x2*)|x2*|(x1*)+|x1*|(x2*)(x1*/x2*)|x2*|(x1*)+|x1*|(x2*)|x2*|2第11页/共23页12误差估计l 设一元函数设一元函数 f(x)可微,可微,x*为为 x 的近似值,则有的近似值,则有 r(f(x*)条件数条件数 记为记为 Cp第12页/共23页13误差估计l 设多元函数设多元函数 f(x)可微,可微,x*=(x1*,x2*,xn*)为为 x=(x1,x2,xn)的近似值,则有的近似值,则有(f(x*)第13页/共23页14数值稳定性误差的传播与积累误差的传播与积累:原始数据的误差导致最终原始数据的误差导致最终结果也有误差的过程称为误差的传播结果也有误差的过程称为误差的传播例:例:近似计算近似计算 ,其中,其中 n=1,2,.,8解:解:此公式此公式精确精确成立成立易知易知保留保留 3 位位有效数字有效数字第14页/共23页15数值稳定性可得可得但显然有但显然有?What happened?!?第15页/共23页16数值稳定性考察第考察第 n 步的误差步的误差即有即有 误差以误差以 5 倍倍的速度增长!的速度增长!我们需要改变算法我们需要改变算法!说明该计算过程是说明该计算过程是不稳定不稳定的!的!第16页/共23页17数值稳定性解法二:解法二:具体思路:先估计一个具体思路:先估计一个 SN,再反过来求,再反过来求 Sn(n N)在数值计算中,在数值计算中,误差误差不可避免,不可避免,算法的算法的稳定性稳定性是一个非常重要的性质。是一个非常重要的性质。ex11.m第17页/共23页18数值稳定性算法的稳定性:算法的稳定性:在计算过程中,如果在计算过程中,如果误差误差不增不增长,则称该算法是稳定的,否则为不稳定的。长,则称该算法是稳定的,否则为不稳定的。例:例:教材第教材第 9 页,例页,例 5 第18页/共23页19数值计算注意事项q 避免相近的数相减避免相近的数相减例:例:a1=0.12345,a2=0.12346,各有各有5位有效数字。位有效数字。而而 a2 a1=0.00001,只剩下只剩下1位有效数字。位有效数字。l 几种经验性避免误差危害的方法:几种经验性避免误差危害的方法:当当|x|1 时:时:例:例:教材第教材第 11 至至 12 页,例页,例 7,8,9,10第19页/共23页20数值计算注意事项q 避免数量级相差很大的数相除避免数量级相差很大的数相除可能会产生溢出的情形可能会产生溢出的情形q 避免大数吃小数避免大数吃小数例:例:计算计算(109+10-9-109)/10-9 例:例:按从小到大、以及从大到小的顺序分别计算按从小到大、以及从大到小的顺序分别计算S=1+2+3+40+108ex12.m求和时求和时 从小到大从小到大 相加,可使结果的误差减小相加,可使结果的误差减小第20页/共23页21数值计算注意事项q 简化计算,避免误差积累简化计算,避免误差积累q 选用稳定的算法选用稳定的算法例:例:已知已知 p(x)=xn+xn-1+x+1,计算计算 n=20 时,时,p(8)的值。的值。如果直接代入计算,则需如果直接代入计算,则需 n(n-1)/2 次乘法和次乘法和 n 次加法运算次加法运算如果将如果将 p(x)改写为:改写为:p(x)=x(x(x(x+1)+1)+1)+1则只需则只需 n 1次乘法和次乘法和 n 次加法运算。次加法运算。秦九韶算法秦九韶算法 或或 Horner算法算法第21页/共23页22作业n 教材教材 P 19:1、2、3、5n 提示提示l 1、2、5 题可利用题可利用 Taylor 展开或条件数展开或条件数第22页/共23页23感谢您的观看!第23页/共23页