第一章引论_第1页
第一章引论_第2页
第一章引论_第3页
第一章引论_第4页
第一章引论_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数值分析数值分析一、什么是数值分析一、什么是数值分析 数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现.实际问题实际问题数学模型数学模型数值计算方法数值计算方法 程序设计程序设计上机计算求出结果上机计算求出结果第第1 1章章 绪论绪论1 数值分析的研究对象与特点数值分析的研究对象与特点二、数值分析的基本内容二、数值分析的基本内容1 1、数值逼近、数值逼近 插值法 函数逼近与曲线拟和 数值积分与数值微分2 2、数值代数、数值代数 线性代数问题(方程组和特征值) 非线性方程(组)数值解法 3 3、常微方程数值解法和偏微方

2、程数值解法、常微方程数值解法和偏微方程数值解法三、数值分析的特点三、数值分析的特点,1) 1(312112ln1nn).31713151313131(22ln753vs,32)1ln(32xxxx1 1、面向计算机、面向计算机 2 2、可靠的理论分析、可靠的理论分析, ,保证收敛性、稳定性保证收敛性、稳定性3 3、良好的计算复杂性、良好的计算复杂性4 4、数值实验、数值实验Cramer法则 vs Gauss消去法.31ln12()313xxxxx取四、如何学好数值分析四、如何学好数值分析1 1、注意掌握基本原理、处理技巧,误差分析、注意掌握基本原理、处理技巧,误差分析 3 3、积极动手上机实践

3、、积极动手上机实践2 2、注重实际问题,练习、作业、注重实际问题,练习、作业 五、教学参考书五、教学参考书 数值计算引论 白峰杉 高等教育出版社 科学和工程计算基础 施妙根等 清华大学出版社 数值分析,易大义等编,浙江科学技术出版社 数值方法教程,刘钦圣等编 , 冶金出版社,1998 计算方法,秦林祥等编, 兵器工业出版社,1992 数值分析基础,关治等编 , 高教出版社,1998一、误差来源、分类一、误差来源、分类 观测误差观测误差截断误差截断误差或方法误差方法误差模型误差模型误差 2 数值计算的误差数值计算的误差截断误差:nnnxnfxfxffxPxf!)0(! 2)0(! 1)0()0(

4、)()()(2 1) 1()!1()()(nnnxnfxR舍入误差舍入误差.0000026. 014159. 3R数制转换、机器数. 在用数值方法解题过程中可能产生的误差归纳起来有如下几类: 1. 模型误差 2. 观测误差 3. 截断误差 4. 舍入误差误差误差误差误差误差误差 用数学方法解决一个具体的实际问题,首先要建立数学模型,这就要对实际问题进行抽象、简化,因而数学模型本身总含有误差,这种误差叫做模型误差 数学模型是指那些利用数学语言模拟现实而建立起来的有关量的描述 数学模型的准确解与实际问题的真解不同实际问题的实际问题的真解真解数学模型的数学模型的真解真解为减化模型忽略次要为减化模型忽

5、略次要因素因素定理在特定条件下建立与实定理在特定条件下建立与实际条件有别际条件有别模型误差模型误差 在数学模型中通常包含各种各样的参变量,如温度、长度、电压等,这些参数往往是通过观测得到的,因此也带来了误差,这种误差叫观测误差 数学模型中的参数和原始数据,是由观测和试验得到的 由于测量工具的精度、观测方法或客观条件的限制,使数据含有测量误差,这类误差叫做观测误差或数据误差 根据实际情况可以得到误差上下界 数值方法中需要了解观测误差,以便选择合理的数值方法与之适应观测误差观测误差 精确公式用近似公式代替时,所产生的误差叫截断误差 例如, 函数f(x)用泰勒(Taylor)多项式 截断误差截断误差

6、nnnxnfxfxffxp!)0(! 2)0(! 1)0()0()()(2 1) 1()!1()()()()(nnnnxnfxpxfxR(介于0与x之间)近似代替,则数值方法的截断误差是近似代替,则数值方法的截断误差是p 截断误差的大小直接影响计算结果的精度和计算截断误差的大小直接影响计算结果的精度和计算 工作量,是数值计算中必须考虑的一类误差工作量,是数值计算中必须考虑的一类误差 在数值计算中只能对有限位字长的数值进行运算 需要对参数、中间结果、最终结果作有限位字长的处理工作,这种处理工作称作舍入处理 用有限位数字代替精确数,这种误差叫做舍入误差,是数值计算中必须考虑的一类误差舍入误差舍入误

7、差误差误差误差误差误差误差 例例如在计算时用如在计算时用3.141593.14159近似代替近似代替 ,产生的误差产生的误差R= R= -3.14159=0.0000026-3.14159=0.0000026就是舍入误差。就是舍入误差。 上述种种误差都会影响计算结果的准确上述种种误差都会影响计算结果的准确性,因此需要了解与研究误差,在数值计算性,因此需要了解与研究误差,在数值计算中将着重研究截断误差、舍入误差,并对它中将着重研究截断误差、舍入误差,并对它们的传播与积累作出分析们的传播与积累作出分析二、误差、有效数字二、误差、有效数字定义定义1 1 绝对误差,绝对误差,简称误差:误差:.* ,*

8、的近似值为准确值其中xxxxe误差限:误差限:.|*|*的一个上界e相对误差:相对误差:,*xeer相对误差限:相对误差限:.|*的一个上界rre.*xeer或5 . 0765 x例如,毫米尺5.1000 1,10 yx例如,0.5%.| %,10|*yxyx.000008. 0 ,1416. 3 ,002. 0 ,14. 3 ,1415926. 3*5*5*3*3xxx取五位取三位定义定义2 2 .*,* 有效数字有效数字位有位,就说的第一位非零数字共有到该位的半个单位的误差限是某一位数字若近似值nxnxx例例1 1 42.195, 0.0375551, 8.00033 8.00033, 2

9、.71828,按四舍五入写出上述各数具有四位有效数字的近似数.(2.2) 1021* . 0(2.1) )1010(10* 11) 1(121nmnnmxxaaaax并且其中即例例2 2 考察三位有效数字重力加速度g,若以m/s2为单位, g9.80m/s2, 若以km/s2为单位, g0.00980km/s2,102180. 9g 23. 0, ) 1 . 2(nm,按,102100980. 0g 53. , 3 ) 1 . 2(nm,按.10212*1绝对误差限.10215*2绝对误差限.0.00980/0.0000050.005/9.80 *r而相对误差限相同:11021*nm30 4

10、10.00009260.5 100.5 10 xx 解解1:若取近似值x*=3.1415,绝对误差是0.0000926,有,即m=0,n4,故近似值x*=3.1415只有4位有效数字解2:x*3.1415的绝对误差限绝对误差限0.0005,它是x的小数后第第3位位的半个单位,故近似值x*=3.1415准确到小数点后第3位故近似值x*=3.1415只有4位有效数字例例3 设x= =3.1415926,求x*=3.1415的近似值及有效数字1(1)121*(1)1 * *10(1010) (2.1)0 . *1 10 2mnnnrxxaaaaxna 设近似数表示为其中若具有 位有效数字,则其相对误

11、差限为;定理定理 *(1)11 * 10*2(1).nrxxan反之, 若的相对误差限为,则至少具有 位有效数字 200.1%要使的相对误差限小于,要取几位有效数字?例例4 4 111102na 1*111204.4,41100.125 100.1%42nnrana 只要取解:解:设取n位有效数字,相对误差限*r=,1 31100.00252216110= 0.000 000 5629例例5 指出下列各数具有几位有效数字,及其绝对误差限和相对误差限:0.002 009 000.00解解 因为x1*=0.002 00, m=3绝对误差限0.000 005= 因为m=3,n=3, x1*= 0.0

12、02 00有3位有效数字. a1=2,相对误差限r=x2*=9 000.00,绝对误差限0.005,因为m=3,n=6,x2*=9 000.00有6位有效数字,相对误差限为r 如果认为小数点后边的0无用,将9 000.00随便写作90009103,那么它的绝对误差就是=0.5=0.51034+1,即m=3,n=4,表明这个数有4位有效数字可见,小数点之后的0,不是可有可无的,它是有实际意义的.53 3 110.5 100.5 100.5 10m n 三、数值运算的误差估计三、数值运算的误差估计*1212,x xxx四则运算,设为准确值为近似值,则:误差限.|)(|)(|)/( ),(|)(|)

13、( ),()()( 2*2*1*2*2*1*2*1*1*2*2*1*2*1*2*1*2*1xxxxxxxxxxxxxxxxx,*, ,*)(*)*)(*)()( ,*,)(22)(之间在公式由为近似值为准确值,一元函数xxxxxxxfxfxfTaylorxxxff *).(|*)(|*)( *)(xxfxfxf的误差限得).(*)( ),(,),(*1*11*11knkknnnnxxffxxfxxxxxxf的误差限同理得的近似值为准确值,多元函数* (8) ( *)( *)( *).sldsssldld场地面积:书上第 页例例6 6ABC*(1000.10) , *(1200.10) ,*(6

14、00.02) ,ABCSobm cmA例 设观测数据为试估计面积的绝对误差限和相对误差限。21sin2()( )( )()11sin0.1sin0.1221cos0.0210.572180SbcASSSSbcAbcAcAbAbcAm解由则3( )10.57|( )| |2.035 101sin2rsssbcA误差分析简介误差分析简介 向后误差分析法区间分析法概率分析法3 误差定性分析、避免误差危害误差定性分析、避免误差危害).,(),(111nnflnaagxaagx,xyyx ,一、病态问题与条件数一、病态问题与条件数 ., ,)()()()(*)(条件数称为计算函数值问题的考虑计算函数值问

15、题ppxfxf xxxxfxfxfCC%.24%,2,24. 1)02. 1 (, 1) 1 (,10,)(10函数值相对误差为误差为自变量相对例如ffCxxfp.10认为是病态一般pC.,考虑是否病态条件数其他计算问题也要考虑二、算法的数值稳定性二、算法的数值稳定性考虑初始数据误差在计算中的传播问题. . 1107 d , 0,1, .nxnIex ex n计算并估计误差例例 ,.舍入义一个算法若输入数据有误差 而在计算过程中不增长 则称此算法是数值稳定的 否则是不误差稳定的定定3 3, 2 , 1 ,11nnIInn., 2 , 1 ,1,6321. 0)(10nInIIAnn.110eI

16、. 1 , 8 , 9 ),1 ( ,0684. 0)(*1*1*9nIIIBnnn)0684. 0)10101(21(19eI控制递推公式中误差的传播控制递推公式中误差的传播 对于一个数学问题的求解往往有多种数值方法对于一个数学问题的求解往往有多种数值方法在选择数值方法时,要注意所用的数值方法不应将在选择数值方法时,要注意所用的数值方法不应将计算过程中难以避免的误差放大的较快,造成计算计算过程中难以避免的误差放大的较快,造成计算结果完全失真。结果完全失真。例例 计算积分计算积分 并估计误差并估计误差解解 容易得到递推公式容易得到递推公式 10(0,1,2,10)10nnxIdxnx1 . 1

17、ln)10ln(10110100 xdxxI 1.1ln)10ln(10110100 xdxxI1011011011101010101010101010dxxxdxxxxdxxxxxdxxxInnnnnnnn11011011011010nnnIndxxxdxx)10, 2 , 1(n即即 为为 nI111 0(1, 2 ,1 0 )nnIInn(1,2,10)n 则准确的理论递推式则准确的理论递推式 实际运算的递推式实际运算的递推式 两式相减有两式相减有 01101II*0*1101II)(10)(10*0*00*11IeIIII*2*112200( )10()( 10) ()( 1) 10

18、()nnnnnnnnne IIIIIIIII 这就是说这就是说, ,若若 与与 的误差为的误差为 = = - , ,即即 ,则误差的递推规律为,则误差的递推规律为 0I*0I)(*0Ie0I*0I)(*0*00IeII于是于是 )(10)(10)(10)(*010*82*9*10IeIeIeIe计算计算 时的误差被扩大了时的误差被扩大了 倍倍, ,显然算法是显然算法是数值不稳定的。数值不稳定的。 如果将递推公式如果将递推公式 变换一种形式变换一种形式 *10I10101101nnInI101011nnInI准确的理论递推式准确的理论递推式实际运算的递推式实际运算的递推式从而有从而有 10101

19、1nnInI10101*1nnInI)(101*11nnnnIIII)(10) 1()(101)(101*222*11*00nnnnIIIIIIII即即)(101)(101)(101)(*1010*22*1*0IeIeIeIe于是有于是有则这个算法的误差传递规律为则这个算法的误差传递规律为 *1()()10nne Ie I 即每计算一步的误差的绝对值是上一步的十分即每计算一步的误差的绝对值是上一步的十分之一,误差的传播逐步缩小,得到很好的控制,这之一,误差的传播逐步缩小,得到很好的控制,这个算法是数值稳定的个算法是数值稳定的 算法的数值稳定性 算法优劣的标准 从截断误差观点看,算法必须是截断误

20、差小,收敛敛速要快。即运算量小,机器用时少. 从舍入误差观点看,舍入误差在计算过程中要能控制,即算法的数值要稳定. 从实现算法的观点看,算法的逻辑结构不宜太复杂,便于程序编制和上机实现. 设计算法时应遵循的原则 要有数值要稳定性,即能控制误差的传播. 避免大数吃小数,即两数相加时,防止较小的数加不到较大的数上. 避免两相近的数相减,以免有效数字的大量丢失. 避免分母很小(或乘法因子很大),以免产生溢出.三、避免误差危害的若干原则三、避免误差危害的若干原则除了分清问题是否病态和算法是否数值稳定外,还要考虑避免误差危害和防止有效数字损失的如下原则.1.避免大数除以小数例例8 仿计算机,采用3位十进

21、制,用消元法求解方程组 51.00 101.001.00 1.001.002.00 xyxy)1000. 100. 2()1000. 100. 1 ( 00. 100. 11000. 1555yyxx,得消00. 1 00. 100. 11000. 15yyx00. 1* ,00. 0* yx解:解:错.为什么,怎么办?9999899. 000001. 1555510110210110yx510) 1 () 2(减少运算误差原则减少运算误差原则2 2、两个相近的数相减,会严重损失有效数字、两个相近的数相减,会严重损失有效数字 例如例如x =1958.75x =1958.75,y =1958.3

22、2y =1958.32都具有五位都具有五位 有效数字,但有效数字,但x-y=0.43x-y=0.43只有两位有效数字只有两位有效数字 通常采用的方法是改变计算公式通常采用的方法是改变计算公式, ,例如当与例如当与 很接近时很接近时, ,由于由于2121lglglgxxxx用右端代替左端公式计算用右端代替左端公式计算, ,有效数字就不会损失有效数字就不会损失 减少运算误差原则减少运算误差原则当当x很大时可作相应的变换很大时可作相应的变换 xxxx111) 1(11) 1(xxarctgarctgxxarctg则用右端来代替左端。则用右端来代替左端。 减少运算误差若干原则减少运算误差若干原则当当x

23、接近接近0 0时时 xxxxsin1sinsincos1一般情况,当一般情况,当f(x)f(xf(x)f(x* *) )时,可用泰勒展开时,可用泰勒展开 2*)(! 2)()()()(xxxfxxxfxfxf取右端的有限项近似左端。取右端的有限项近似左端。 如果计算公式不能改变,则可采用增加有效位如果计算公式不能改变,则可采用增加有效位数的方法保证精度数的方法保证精度 212 1610.x863 ,863xxx 求解例例9 972 A10 1 cos2 .1 cos2sin2xx。计算()例例1010 xxxx11112301. 001. 001. 001. 001. 001. 0123100

24、100项项例例11 仿计算机在3位十进制下,、防止防止大数大数吃吃小数小数例 求二次方程x2-105x+1=0的根 解:按二次方程求根公式 x1=(105+(1010-4)1/2)/2 x2=(105-(1010-4)1/2)/2 在8位浮点数计算得 x1=(105+105 )/2=105 (正确), x2=(105-105 )/2=0 (错误) 产生错误的原因 出现大数1010吃掉小数4的情况 分子部分出现两个相近数相减而丧失有 效数位常称为灾难性的抵消4、绝对值太小的数不宜做除数当分母为两个相近数相减时,会丧失有效数字4()()10 ()0.14560.14550.0001分子分子分子这里

25、分子的误差被扩大这里分子的误差被扩大104104倍倍, ,再如再如若将分母变为若将分母变为0.0011,0.0011,即分母只有即分母只有0.00010.0001的变化的变化时时, ,计算结果却有了很大变化计算结果却有了很大变化 减少运算误差若干原则减少运算误差若干原则3.14153141.50.0019 .28550011.01415.3例 计算0135. 00125. 00003. 00012. 00143. 00005. 0D 解: 分子分母分别计算后相除(取9位小数)A=0.0005*0.0143*0.0012=0.00000715*0.0012 =0.000000009(有舍入)B=

26、0.0003*0.0125*0.0135=0.00000375*0.0135 =0.000000051(有舍入)D=A/B=0.17647真值为0.16948148,所以D只准确到小数后一位减少运算误差若干原则减少运算误差若干原则 算法2。分成三组因子。每组只取六位小数计算 a=0.0005/0.0003=1.666667(有舍入) b=0.0143/0.0125=1.144000 c=0.0012/0.0135=0.088889 (有舍入) D=a*b*c=1. 666667* 1.144000* 0.088889 =0.169482,准确到小数后5位。0135.00125.00003.00012.00143.00005.0Db bc ca a减少运算误差若干原则减少运算误差若干原则5、简化计算步骤,减少运算次数减少运算次数可以不但节省时间,而且减少舍入误差 例:x255=xx2x4x8x16x32x64x128 原先要做254次乘法现只需14次即可例 如计算多项式 p(x)=anxn an-1xn-1 a1x a0 的值 若直接计算akxk,再逐项相加,一共要做 n+(n-1)+2+1=n(n+1)/2次乘法和n次加法 减少运算误差若干原则减少运算误差若干原则如果将前n项提出x,则

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论