1、数值计算方法授课教师:付念2(一)关于本课程v课程属性:必修课程属性:必修v学时:共学时:共48学时,其中课堂教学学时,其中课堂教学40学时,上学时,上机实验机实验8学时。学时。v学分:学分:3v使用教材:使用教材:数值计算方法数值计算方法2 23(二)课程安排v课堂教学:课堂教学:40学时学时上课讲重点,讲解算法。上课讲重点,讲解算法。v上机实验:上机实验:8学时学时 应用程序为应用程序为matlab,对重点算法提出计算过程,并实现算法,对重点算法提出计算过程,并实现算法v考试形式:考试形式:-考核方式为每人一题考核方式为每人一题v最后成绩:最后成绩:平时成绩占平时成绩占50%,考试成绩占,
2、考试成绩占50%v学习方法:学习方法:听课和计算相结合,理论联系实际,多动手!听课和计算相结合,理论联系实际,多动手!3“”就是研究用于求得就是研究用于求得的的和和。u什么是数值计算方法数值数值分析分析输入复杂问题或运算输入复杂问题或运算.),(,)(,ln,xfdxddxxfbxAxaxbax 计算机计算机近似解近似解计算机解决实际问题的步骤计算机解决实际问题的步骤v建立数学模型建立数学模型v选择数值方法选择数值方法v编写程序编写程序v上机计算上机计算第一章 误差v1.1误差的来源v误差的基本理论-用计算机进行实际问题的数用计算机进行实际问题的数值计算时值计算时,往往求得的是问题的近似解往往
3、求得的是问题的近似解,都存在都存在误差误差误差来源在建立数学模型过程中在建立数学模型过程中,要将复杂的现象抽要将复杂的现象抽象归结为数学模型象归结为数学模型,往往要忽略一些次要因往往要忽略一些次要因素的影响素的影响,而对问题作一些简化而对问题作一些简化,因此和实因此和实际问题有一定的区别际问题有一定的区别.在建模和具体运算过程中所用的数据往往在建模和具体运算过程中所用的数据往往是通过观察和测量得到的是通过观察和测量得到的,由于精度的限由于精度的限制制,这些数据一般是近似的这些数据一般是近似的,即有即有-!3!2132xxxex!7!5!3sin753xxxxx!4!3!2)1ln(432xxx
4、xx如如:若将前若干项的部分和作为函数值的近似公式若将前若干项的部分和作为函数值的近似公式,由于以后各项都由于以后各项都舍弃舍弃了了,自然产生了误差。自然产生了误差。-截断误差截断误差Taylor展开展开误差来源机器字长有限舍入误差o 由于计算机的字长有限,只能对有限位数进行运算,超过的位数按一定规则舍入,产生“舍入误差”.14159265.3414213562.12 166666666.061!311415927.34142136.12 16666667.0!31误差来源小结:模型误差.观测误差不是数值分析讨论的内容,数值计算方法主要研究截断误差和舍入误差在计算过程中的传播和对计算结果的影响
5、,以提高计算的精度.v误差是不可避免的误差是不可避免的,既要允许误差既要允许误差,又要控制误又要控制误差差.要重视误差分析要重视误差分析,分析误差的来源分析误差的来源,误差的误差的传播及对误差作出估计传播及对误差作出估计1.2 绝对误差、相对误差和有效数字v绝对误差绝对误差/*Absolute error*/定义定义1.称的一个近似值为为准确值设,*xxxxxxe*)(.,*Ex可简记为简称误差的绝对误差为近似值知道的往往是未知甚至是无法因为准确值 x往往也无法求出因此xxxE*)(例例 用一把有毫米的刻度的米尺用一把有毫米的刻度的米尺,来测量桌子来测量桌子的长度的长度,读出的长度读出的长度x
6、 x*=1235=1235mmmm这是桌子实际长度这是桌子实际长度x x一个近似值一个近似值,由米尺的精度知由米尺的精度知,这个近似值的误差不会超过这个近似值的误差不会超过0.5mm(0.5mm(即绝对误差限即绝对误差限为为1/2mm),1/2mm),则则*112352xxxmm1234.5x1235.5即即x1234.5,1235.5 或或x=12350.5mm 绝对误差的绝对误差的某个上界某个上界即绝对值的某个上界而只能知道,*xxe)(|)(|*xxxxe的称为数值*)(xx简记为*xxx的范围准确值 x或或*xx且且误差限的大小还不能完全表示近似值的好坏误差限的大小还不能完全表示近似值
7、的好坏.显然显然0215 x若对于51000 y15*x1000*y2)(*x哪个更精确呢哪个更精确呢?吗?15*x5)(*y定义定义2.2.称的一个近似值为为准确值设,*xxxxxxxxExEr*)()(.,*rEx可简记为的相对误差为近似值rrrxxxxxE)()(*的相对误差限为近似值*xrelativeerror|xr绝对误差限绝对误差限相对误差限相对误差限往往未知往往未知*)()(xxxxxExEr|*xr代替相对误差代替相对误差代替相对误差限代替相对误差限条件是条件是*reex较小较小,这是因为这是因为15*x1000*y2)(*x5)(*y因此%33.13152)(*xr%5.0
8、10005)(*yr*2*2*()()(/)()1/eee xxeexxxxxx xeex是是*re的平方项集的平方项集,所以可以忽略不计所以可以忽略不计!例例.,7,5,3求绝对误差限位数的近似值经四舍五入取小数点后若解:65592141.359141.3*142.3*7592141.3*|*407000.065002000.004000000.03105.05105.07105.0可见可见,经四舍五入取近似值经四舍五入取近似值,其绝对误差限将其绝对误差限将不超过其末位数字的半个单位不超过其末位数字的半个单位v1、取3.14,3.15作为的近似值,求各自的绝对误差,相对误差。v2、下列各数都
9、是对准确数进行四舍五入后得到的近似数,试分别指出他们的绝对误差限和相对误差限,指出哪一个和真实值最接近。vx1=0.0315 x2=0.3015 x3=31.50 x4=5000 1.2.2 有效数字有4位有效数字有6位有效数字65592141.359141.3*142.3*7592141.3*有8位有效数字1415.3*只有4位有效数字.,*位有效数字有简称有效数字位时具有近似则称用位一位非零数字共有的第而该位数字到单位超过某一位数字的半个其绝对误差的绝对值不的近似值作为若nxnxxnxxx有效数字是近似值的一种表示法。它既能表示近似值的大小,又能表示其精确程度。1.2.2 有效数字*120
10、.10mnxa aa 的规格化形式为:的近似值*xx1,)ia in 其中(是0到9中的一个数字。10,am为整数*1102m nxx那么定理定理1.的近似值的表达式为作为若xx*满足则其相对误差位有效数字有若*,)1(rEnx证明证明:*11*1*110.100.(1)100.5 101100.102mmm nnrmaxaxnxxaax 当 具有 位有效数字时111102nra*120.10mnxa aa*rxxx*1111100.(1)102(1)nmrxxxaa 位有效数字至少有则nx*的相对误差满足若反之*,)2(x*111102(1)nra 0.5 10m n位有效数字至少有所以nx
11、*v1、取3.14,3.15作为的近似值,求各自的有效数字的位数。v3、计算 的近似值,取多少位的有效数字可以使其相对误差不超过0.1。10据说,美军据说,美军 1910 1910 年的一次部队的命令传递是这样的年的一次部队的命令传递是这样的:营长对值班军官营长对值班军官:明晚大约明晚大约 8 8点钟左右,哈雷彗星将可能在这个点钟左右,哈雷彗星将可能在这个地区看到,这种彗星每隔地区看到,这种彗星每隔 7676年才能看见一次。命令所有士兵着年才能看见一次。命令所有士兵着野战服在操场上集合,我将向他们解释这一罕见的现象。如果下野战服在操场上集合,我将向他们解释这一罕见的现象。如果下雨的话,就在礼堂
12、集合,我为他们放一部有关彗星的影片雨的话,就在礼堂集合,我为他们放一部有关彗星的影片。值班军官对连长值班军官对连长:根据营长的命令,明晚根据营长的命令,明晚8 8点哈雷彗星将在操场点哈雷彗星将在操场上空出现。如果下雨的话,就让士兵穿着野战服列队前往礼堂,上空出现。如果下雨的话,就让士兵穿着野战服列队前往礼堂,这一罕见的现象将在那里出现。这一罕见的现象将在那里出现。连长对排长连长对排长:根据营长的命令,明晚根据营长的命令,明晚8 8点,非凡的哈雷彗星将身点,非凡的哈雷彗星将身穿野战服在礼堂中出现。如果操场上下雨,营长将下达另一个命穿野战服在礼堂中出现。如果操场上下雨,营长将下达另一个命令,这种命
13、令每隔令,这种命令每隔7676年才会出现一次。年才会出现一次。排长对班长排长对班长:明晚明晚8 8点,营长将带着哈雷彗星在礼堂中出现,这点,营长将带着哈雷彗星在礼堂中出现,这是每隔是每隔 7676年才有的事。如果下雨的话,营长将命令彗星穿上野年才有的事。如果下雨的话,营长将命令彗星穿上野战服到操场上去。战服到操场上去。班长对士兵班长对士兵:在明晚在明晚8 8点下雨的时候,著名的点下雨的时候,著名的7676岁哈雷将军将在岁哈雷将军将在营长的陪同下身着野战服,开着他那营长的陪同下身着野战服,开着他那“彗星彗星”牌汽车,经过操场牌汽车,经过操场前往礼堂。前往礼堂。例:例:蝴蝶效应蝴蝶效应 纽约的一只
14、蝴蝶翅膀一拍,风和日丽的北京纽约的一只蝴蝶翅膀一拍,风和日丽的北京就刮起台风来了?!就刮起台风来了?!NYBJ蝴蝶效应是气象学家洛伦兹1963年提出来的。其大意为:一只南美洲亚马孙河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可能在两周后引起美国德克萨斯引起一场龙卷风。其原因在于:蝴蝶翅膀的运动,导致其身边的空气系统发生变化,并引起微弱气流的产生,而微弱气流的产生又会引起它四周空气或其他系统产生相应的变化,由此引起连锁反映,最终导致其他系统的极大变化。此效应说明,事物发展的结果,对初始条件具有极为敏感的依赖性,初始条件的极小偏差,将会引起结果的极大差异。1.3数值计算中误差的传播v1.3.1 基本
15、运算中的误差估计 在数值运算中,参加运算的数若有误差,那么一定会影响到计算结果的准确性.例、设y=xn,求y的相对误差与x的相对误差之间的关系。1.3.2 算法的数值稳定性 计算一个数学问题,需要预先设计好由已知数据计算问题结果的运算顺序,这就是算法。.210110,n,dxexeIxnn 例:例:计算计算11 nnInI 公式一:公式一:注意此公式注意此公式精确精确成成立立632120560111100.edxeeIx 记为记为*0I80001050 .IIE则初始误差则初始误差111111110010 nI)e(ndxexeIdxexennnn39141423151959424941412
16、2764807131632896000121030592000111088128000101.367879440111415*13*14*12*13*11*12*10*11*9*10*0*1.II.II.II.II.II.II.II?!为什么?为什么?考察第考察第n步的误差步的误差nE|)1()1(|*11*nnnnnnInIIIE|!.01En|Enn 我们有责任改变。我们有责任改变。造成这种情况的是造成这种情况的是不稳定的算法不稳定的算法 /*unstable algorithm*/迅速积累,误差呈递增走势。迅速积累,误差呈递增走势。可见初始的小扰动可见初始的小扰动801050|.E)1(
17、1111nnnnInIInI 公式二:公式二:注意此公式与注意此公式与公式一公式一在理论上在理论上等价等价。方法:先估计一个方法:先估计一个IN,再反推要求的再反推要求的In(n N)。11)1(1 NINeNNNINNeI 11)1(121*可取可取0*NNNIIEN,时时当当632120560)1(11367879440)1(21.0838771150)1(1110773517320)1(1210717792140)1(1310668702200)1(1410638169180)1(151042746233016116121*1*0*2*1*11*10*12*11*13*12*14*13*
18、15*14*15.II.II.II.II.II.II.II.eI 取取为什么这个好?考察反推一步的误差:考察反推一步的误差:|1)1(1)1(1|*1NNNNENININE 以此类推,对以此类推,对 n N 有:有:|)1(.)1(1|NnEnNNE 误差逐步递减误差逐步递减,这样的算法称为这样的算法称为稳定的算法稳定的算法/*stable algorithm*/在我们今后的讨论中,在我们今后的讨论中,误差误差将不可回避,将不可回避,算法的算法的稳定性稳定性会是一个非常重要的话题。会是一个非常重要的话题。1.4数值计算中应注意的问题(1)(1)避免两个相近的数相减避免两个相近的数相减两个相近的
19、数相减两个相近的数相减,会使有效数字的位数严重损失会使有效数字的位数严重损失在算法设计中在算法设计中,若可能出现两个相近数相减若可能出现两个相近数相减,则改变则改变计算公式计算公式,如使用三角变换、有理化等等如使用三角变换、有理化等等例:例:a1=0.12345,a2=0.12346,各有,各有5位有效数字。位有效数字。而而 a2 a1=0.00001,只剩下,只剩下1位有效数字。位有效数字。几种经验性避免方法:几种经验性避免方法:;xxxx ;1lnlnln xxx0006.09994.012cos1x42210092.69994.1)03490.0(2cos1)2(sin2cos101.0
20、cos1510999958.4xcos12sin22x201.0sin22510999958333.4由于由于(2)(2)避免大数避免大数“吃吃”小数的现小数的现象象这一类问题主要由计算机的位数引起这一类问题主要由计算机的位数引起假如作一个有效数字为假如作一个有效数字为4 4位的连加运算位的连加运算4012.04697.04896.04987.01234.01041234.01044697.0,4896.0,4987.01234.0104吃了将小数大数而如果将小数放在前面计算而如果将小数放在前面计算1234.0104012.04697.04896.04987.041236.0104在作连加时在
21、作连加时,为防止大数吃小数为防止大数吃小数,应从小到大进行相加应从小到大进行相加,如此如此,精度将得到适当改善精度将得到适当改善.当然也可采取别的方法当然也可采取别的方法.解方程解方程010)110(992xx解解:由中学知识韦达定理可知由中学知识韦达定理可知,方程的精确解为方程的精确解为9110 x12xaacbsqrtbx2)4(22,1而如果用而如果用8 8位小数的计算机上利用求根公式位小数的计算机上利用求根公式1109b10101.010100100000000.0机器吃了因此在计算机上因此在计算机上10101.0b101000000000.010101.0910aacbsqrtbx2
22、)4(21)4(2acbsqrt92101014)101.0(910 aacbsqrtbx2)4(22999102101002101099可得利用根的关系acxx211x若已算出121xacx110111099上式是解二次方程的数值公式上式是解二次方程的数值公式求 的小正根.方程的两根为 只有一位有效数字只有一位有效数字 小正根小正根为避免两相近数相减可改用为避免两相近数相减可改用 (3)(3)避免除数的绝对值远小于被除数的绝对值避免除数的绝对值远小于被除数的绝对值/避免大数做乘数避免大数做乘数)(yE2112xx21xxy对于21xxy 对于)(yE2221121xxx|21xx或)(yE|
23、2x)(yE在算法设计时在算法设计时,要避免这类算法在计算公式中出现要避免这类算法在计算公式中出现在进行乘法时,两数中如果有一个大数,则积的误差在进行乘法时,两数中如果有一个大数,则积的误差就有可能要放大很多;就有可能要放大很多;在进行除法时,如果除数太小,则商的误差就可能要放大很多;在进行除法时,如果除数太小,则商的误差就可能要放大很多;(4)(4)要简化计算,减少运算次数,提高效率要简化计算,减少运算次数,提高效率25621286432168422222222221515次乘法运算而不是次乘法运算而不是255255次次0111)(axaxaxaxpnnnn对多项式对多项式使用秦九韶算法使用
24、秦九韶算法0121)()(axaxaxaxaxpnnn可大大减少计算量可大大减少计算量2311ln2ln(1).(1).231111ln21.(1).23nnnTaylorxxxxxnxn 计算的值。算法一:由展式有令有慢。显然项数大,收敛速度时,则若要收敛。所以且由级数判别,交错级数55102102111|2ln0limnnann得:并取则令则而由于算法二1031211.)12.531(211ln)1ln()1ln(.)1(.32)1ln(.32)1ln(:24213232nxxxnxxxxxxxxnxxxxxnxxxxxnnnn差距很大。,计算精度及速度两种算法,同样计算其截断误差为2ln109123112191119123132.)9125191231(32)31(211.3151311(322ln12101112112042Tv显然算法不稳定,理论上成立的算法,在计算机上机算时,由于初值的误差在计算过程中的传播,而导致结果的失真,这是我们数值计算方法所要研究的。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。