1、 计算方法计算方法电子教案电子教案第第1 1章章 误差及误差分析误差及误差分析 1.1 误差的来源与分类1.2 绝对误差与相对误差1.3 运算误差分析 计算方法是做什么用的?数值数值分析分析输入复杂问题或运算输入复杂问题或运算.),(,)(,ln,xfdxddxxfbxAxaxbax 计算机计算机近似解近似解 绪论绪论第第1 1章章 误差及误差分析误差及误差分析 1.1 误差来源与分类1.1.1 1.1.1 来源与分类来源与分类1.1.从实际问题中抽象出数学模型从实际问题中抽象出数学模型 模型误差模型误差2.2.通过测量得到模型中参数的值通过测量得到模型中参数的值 观测误差观测误差3.求近似解
2、求近似解 方法误差方法误差(截断误差截断误差)4.4.机器字长有限机器字长有限 舍入误差舍入误差1.2绝对误差与相对误差|x*xx工程上常记为,称为绝对误差限的上限记为其中x为精确值,x*为x的近似值。绝对误差绝对误差*xxxx例如:用有毫米刻度的尺,测量不超过一米的长度 ,如果读出的长度是314毫米则 可表示为 毫米314 0.5lll 用科学计数法,记 (其中 )。若 (即 的截取按四舍五入规则),则称 为有n 位有效数字,精确到 。*12010mnx.x xx 10 x nm.xx 1050|*nx*xnm 101.2.2 有效数字 131 40 3141510*0 5100 510*.
3、,|.而解:解:有4位有效数字,精确到小数点后第3 位。3.1415926535897932;*3.1415 例:例:问:有几位有效数字?*定义我可估算出此直径是我可估算出此直径是20cm 1cm.我可测出两行星之间的我可测出两行星之间的距离为在距离为在100 万万1光年光年当然我的更精确当然我的更精确!精确性精确性 不仅同绝对误差有关不仅同绝对误差有关,还还同它本身的值的大小有关同它本身的值的大小有关系系.*|xxxx x 的相对误差限 定义为1.1.相对误差相对误差0,*xxxxxxx121 0 01 05 0 0 01 0 xx例:与相对误差限与绝对误差限有如下关系:*|x前者的相对误差
4、为 ,而后者的相对误差为 0.0021.01.2.3 相对误差2.2.相对误差限相对误差限 有效数字 相对误差限112110 51010110010202mnnnmn.x.x xx.xx已知 x*有 n 位有效数字,则其相对误差限为结论1:若近似值 具有 位有效数字,则其相对误差满足其中 为最左边的一位有效数字。*xn(1)11|102nxx1x3.3.有效数字与相对误差的关系有效数字与相对误差的关系 相对误差限相对误差限 有效数字有效数字-1*121-1-1-1110-*|0.102(1)10(1)100.5102(1)nmnmm nxxxa aaaa则1111021na已知 x*的相对误差
5、限可写为可见 x*至少有 n 位有效数字。结论2 若一个近似数 的相对误差为则这个近似数准确到 位有效数字。其中 为最左边的一位有效数字。*x(1)11|102(1)nxxn1x1.3 运算误差分析 1.3.1 和、差、积、商的误差设 是精确值 的近似值,设 是精确值 的近似值,用 来表示 的近似值,则它的误差为:()()xyxyxxyy*xxy*y*y*xxy1.1.和或差的误差限是误差限之和和或差的误差限是误差限之和 若我们把 的误差 看成是 的微分 *x*xxx*dxxxx2.2.连乘、连除所得的相对误差限等于各乘数和除数的相连乘、连除所得的相对误差限等于各乘数和除数的相对误差限之和。对
6、误差限之和。的相对误差是它是对数函数的微分。设 ,则 因而*lnxxdxxdxxxuxylnlnlndudxdylnlnln,uxy*x例例 设则因从而得到由此得到 的相对误差限等于乘数 和除数 的相对误差限之和。xyuzwlnlnlnlnlnuxyzw|ln|ln|ln|ln|ln|dudxdydzdwuxy、zw、函数的误差估计函数的误差估计问题问题:对于 y =f(x),若用 x*取代 x,将对y 产生什么影响?设 ,则 的相对误差是*(),()yf xyf x*y()ln()fxdydxf x例:设 ,则 ,因此 的相对误差是 的相对误差的 倍。y xlnlnyxlnlndydxxx1
7、.3.2 在近似计算中需要注意的一些现象 1.避免相近二数相减例:a1=0.12345,a2=0.12346,各有5位有效数字。而 a2 a1=0.00001,只剩下1位有效数字。几种经验性避免方法:;xxxx ;1lnlnln xxx当|x|1 时:;2sin2cos12xx .6121112xxxex2.避免小分母:分母小会造成浮点溢出3.避免大数吃小数例,设 ,为了 计算,如果按顺序 来计算,而有效数字为十位以下,则在作 的运算时,“吃掉”了 ,但若按运算顺序 ,其结果为首先 与 互相抵消,再与 相加,其最后结果为10,从而保护了数 。所以在运算过程中必须注意合理安排运算顺序,以便提高运算的精度或保护重要的数111110,10,10abc abc()abcabab()acbacbb4.要注意计算步骤的简化,减少运算次数,避免误差积累。一般来说,计算机处理下列运算的速度为 exp ,例例 计算多项式的值,若直接用上面公式进行计算函数值,则在计算第 项 时需要进行 次乘法,因此,总共需要作 次乘法和 次加法,但如果把多项式改写成下面形式:则只需要次 乘法和 次加法即可以得到函数值。这一算法也称为秦九韶算法。110()nnnnP xa xaxakkka xk(1)/2n n n1210()()nnnP xx xx a xaaaann