数值算法的稳定性ppt课件.ppt

上传人:飞****2 文档编号:29417736 上传时间:2022-07-30 格式:PPT 页数:56 大小:526.50KB
返回 下载 相关 举报
数值算法的稳定性ppt课件.ppt_第1页
第1页 / 共56页
数值算法的稳定性ppt课件.ppt_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《数值算法的稳定性ppt课件.ppt》由会员分享,可在线阅读,更多相关《数值算法的稳定性ppt课件.ppt(56页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1/32 设设x*是准确数是准确数, x是是x*的近似数,称的近似数,称e = x* - x 为近为近似值似值x的的绝对误差绝对误差,简称误差。,简称误差。上节课内容回顾上节课内容回顾反映是近似值与精确值的绝对差值反映是近似值与精确值的绝对差值称称*xxxxeer为近似值为近似值x的的相对误差相对误差反映是近似值与精确值的近似程度反映是近似值与精确值的近似程度通常用百分数来表示,相对误差越小,近似程度越高通常用百分数来表示,相对误差越小,近似程度越高绝对误差限,相对误差限绝对误差限,相对误差限2/32rrxxxxee|*|*|则称则称 r 为近似值为近似值x的相对误差限。的相对误差限。 |e|

2、 = |x* - x| ,称称 为近似值为近似值x的绝对误差限,简称的绝对误差限,简称误差限误差限或或精度精度 3/32如果如果|e| = |e| = |x* * - - x| | 1/2 1/2 10m-n 称近似数称近似数x准确到小数点后第准确到小数点后第n位位,从这小数点后从这小数点后第第n位数字直到最左边非零数字之间的所有数位数字直到最左边非零数字之间的所有数字都称为有效数字字都称为有效数字. 有效数字越多有效数字越多,误差越小误差越小,计算结果越精确计算结果越精确.近似数近似数x=0.a1a2an10m4/32相对误差与有效数字的关系如下:相对误差与有效数字的关系如下:定理定理1.1

3、 设近似数设近似数x=0.a1a2an10m有有n位有效数字位有效数字,则其相对误差限为则其相对误差限为,102111nra定理定理1.2 设设近似数近似数x=0.a1a2an10m的相对误差限的相对误差限为为,10) 1(2111nra则它至少有则它至少有n位有效数字。位有效数字。5/321.4 算法的数值稳定性算法的数值稳定性(数值计算中值得注意的问题数值计算中值得注意的问题) 一个算法如果输入数据有误差,而在计算过一个算法如果输入数据有误差,而在计算过程中舍入误差不增长,则称此算法是程中舍入误差不增长,则称此算法是数值稳定的,数值稳定的,否则称此算法为否则称此算法为不稳定的。不稳定的。换

4、句话说:若误差传播是可控制的换句话说:若误差传播是可控制的,则称此算法是则称此算法是数值稳定的数值稳定的,否则称此算法为否则称此算法为不稳定的。不稳定的。6/32见教材第见教材第2、1011页页例:计算例:计算105dxxxInn(1)In0; (2)In单调递减单调递减; 0lim)3(nnI) 1(151161)4(nnInnIn有以下性质有以下性质 在该例中在该例中,用上述公式计算积分的值用上述公式计算积分的值,I0=ln6-ln50.182322的舍入误差在计算过程迅速传播,每次扩大的舍入误差在计算过程迅速传播,每次扩大5倍,致使倍,致使I12= -0.3290211010-2 严重失

5、真,所以这一严重失真,所以这一公式是不稳定的。公式是不稳定的。,.)2 , 1(151nnIInn有递推公式有递推公式7/32nInnInnInnIn10.088392260.0243239110.017324716-10.156920.05803870.018810912-0.003290221750.843330.043138780.021237813-0.093374218-254016140.034306390.017056614-0.395442191270.8650.0284686100.0147169152.0438820-6354.23,.)2 , 1(151nnIInn舍入误

6、差在计算过程迅速传播,每次扩大舍入误差在计算过程迅速传播,每次扩大5倍倍.所以此算法是不稳定的。所以此算法是不稳定的。8/32) 1 , 2,.,1,(51511mmnnIInn然后取充分大的然后取充分大的m对应的对应的Im的一个估计值为计算初的一个估计值为计算初值,再逐步用上式算出值,再逐步用上式算出Im-1 ,Im-2 ,.,I1。用上式计算用上式计算 Im 可使计算的误差减少可使计算的误差减少5倍,因而它对应倍,因而它对应的算法是数值稳定的算法。的算法是数值稳定的算法。而将公式变为而将公式变为00873061. 022151216120I) 1(151161)4(nnInn由由:可取可取

7、自自n=20计算到计算到n=1,2) 1(51) 1(61mmIm,.)2 , 1(151nnIInn9/32nInnInnInnIn200.00873016150.0105205100.015367650.0284684190.00825397140.011229290.016926540.0343063180.00887552130.012039980.093374230.0431387170.00933601120.012976670.021232620.0580389160.00989750110.014071360.023325010.0883922最后得最后得: I0=0.1823

8、22与我们开始计算的与我们开始计算的I00.182322是一样的是一样的) 1 , 2,.,1,(51511mmnnIInn该公式给该公式给出的算法出的算法就是稳定就是稳定的的下面通过例子给出算法数值稳定的几个原则:下面通过例子给出算法数值稳定的几个原则:10/32一、防止相近的两数相减一、防止相近的两数相减(会耗失许多有效数字会耗失许多有效数字,可以用数学公式化简后再做可以用数学公式化简后再做)xx 1xxxx111 化成例例2:当当x较大时,计算较大时,计算0.041只有两位有效数字只有两位有效数字,有效数字的耗失有效数字的耗失,说明准确度减说明准确度减小小,因此因此,在计算时需要加工计算

9、公式在计算时需要加工计算公式,以免这种情况发生以免这种情况发生.控制误差传播的几个原则控制误差传播的几个原则例例1: 各有五位有效数字的两个数各有五位有效数字的两个数23.034与与22.993相减相减. 23.034-22.993=0.041 11/3211759760解解: 11759760例例3:用四位浮点数计算用四位浮点数计算 结果只有一位有效数字结果只有一位有效数字,有效数字大量损失有效数字大量损失,造成相造成相对误差扩大。这是由两个比较接近的数相减造成的。对误差扩大。这是由两个比较接近的数相减造成的。结果仍然有四位有效数字。这说明了算法设计的结果仍然有四位有效数字。这说明了算法设计

10、的重要性。重要性。76017591522100.2100.1316100.1318760175915100.1734100.576817607591760175916注:数值计算中要避免有效数字减少。注:数值计算中要避免有效数字减少。12/32 二、防止大数吃小数二、防止大数吃小数 当两个绝对值相差很大的数进行加法或减法运算时当两个绝对值相差很大的数进行加法或减法运算时, ,绝对绝对值小的数有可能被绝对值大的数值小的数有可能被绝对值大的数 吃掉吃掉 从而引起计算结果从而引起计算结果很不可靠很不可靠. . 例例4:求一元二次方程求一元二次方程x2-(109 +4)x+4109=0 的实数根的实数

11、根.采用因式分解法采用因式分解法,很容易得到两个根为很容易得到两个根为x1=109,x2=4.如采用如采用字长为字长为8位的计算机来计算位的计算机来计算,求得根为求得根为x1=109 ,x2=0.(怎样怎样计算可得较好的结果计算可得较好的结果?) 两者结果不同两者结果不同,因为计算机计算时做加减法要因为计算机计算时做加减法要 “对对阶阶”,“对阶对阶”的结果使大数吃掉了小数的结果使大数吃掉了小数.产生了误差产生了误差.为了为了避免由于上述原因引起的计算结果严重失真避免由于上述原因引起的计算结果严重失真,可以根据一可以根据一些具体情况些具体情况,有时需要把某些算式改写成另一种等价的形有时需要把某

12、些算式改写成另一种等价的形式式.13/32四、要控制舍入误差的累积和传播四、要控制舍入误差的累积和传播见教材第见教材第2、1011页页分母接近分母接近0,如何改进?,如何改进?如:如:|x|0; (2)In单调递减单调递减; 0lim)3(nnI) 1(5161)4(1nnInnIn有以下性质有以下性质也可以用等价无穷小替换也可以用等价无穷小替换14/32 在该例中在该例中,用上述公式计算积分的值用上述公式计算积分的值,I0=ln6-ln50.182322的舍入误差在计算过程迅速传播,每次扩大的舍入误差在计算过程迅速传播,每次扩大5倍,致使倍,致使I12= -0.3290211010-2 严重

13、失真,所以这一严重失真,所以这一公式是公式是不稳定不稳定的。的。,.)2 , 1(151nnIInn有递推公式有递推公式) 1 , 2,.,1,(51511mmnnIInn然后取充分大的然后取充分大的m对应的对应的Im的一个估计值为计算初的一个估计值为计算初值,再逐步用上式算出值,再逐步用上式算出Im-1 ,Im-2 ,.,I1。 用上式计算用上式计算 Im 可使计算的误差减少可使计算的误差减少5倍,因而它对倍,因而它对应的算法是应的算法是数值稳定的算法数值稳定的算法。而而将公式变为将公式变为15/32 在该例中在该例中,用上述公式计算积分的值用上述公式计算积分的值,I0=ln6-ln50.1

14、82322的舍入误差在计算过程迅速传播,每次扩大的舍入误差在计算过程迅速传播,每次扩大5倍,致使倍,致使I12= -0.3290211010-2 严重失真,所以这一严重失真,所以这一公式是不稳定的。公式是不稳定的。,.)2 , 1(151nnIInn有递推公式有递推公式nInnInnInnIn10.088392260.0243239110.017324716-10.156920.05803870.018810912-0.003290221750.843330.043138780.021237813-0.093374218-254016140.034306390.017056614-0.3954

15、42191270.8650.0284686100.0147169152.0438820-6354.2316/32) 1 , 2,.,1,(51511mmnnIInn然后取充分大的然后取充分大的m对应的对应的Im的一个估计值为计算初的一个估计值为计算初值,再逐步用上式算出值,再逐步用上式算出Im-1 ,Im-2 ,.,I1。用上式计算用上式计算 Im 可使计算的误差减少可使计算的误差减少5倍,因而它对应倍,因而它对应的算法是数值稳定的算法。的算法是数值稳定的算法。而将公式变为而将公式变为00873061. 022151216120I) 1(5161)4(1nnInn由由:可取可取自自n=20计算

16、到计算到n=1,) 1(2) 1(51) 1(61mmmIm17/32nInnInnInnIn200.00873016150.0105205100.015367650.0284684190.00825397140.011229290.016926540.0343063180.00887552130.012039980.093374230.0431387170.00933601120.012976670.021232620.0580389160.00989750110.014071360.023325010.0883922最后得最后得: I0=0.182322与我们开始计算的与我们开始计算的I0

17、0.182322是一样的是一样的) 1 , 2,.,1,(51511mmnnIInn该公式给该公式给出的算法出的算法就是稳定就是稳定的的18/32五、简化计算步骤五、简化计算步骤, ,减小运算次数减小运算次数, ,避免误差积累避免误差积累例例7:设:设A、B、C、D分别是分别是10 20、 20 50、 50 1、 1 100的的矩阵,试按不同的算法求矩阵乘积矩阵,试按不同的算法求矩阵乘积E=ABCD.解:由矩阵乘法的结合律,可有如下算法解:由矩阵乘法的结合律,可有如下算法1. E=(AB)C)D. 计算量计算量N1=11500flop2. E=A(B(CD). 计算量计算量N2=125000

18、flop3. E=(A(BC)D. 计算量计算量N3=2200flop 简化计算步骤是提高程序执行速度的关键,它不仅可以节省简化计算步骤是提高程序执行速度的关键,它不仅可以节省时间,还能减少舍入误差。时间,还能减少舍入误差。例例6:计算:计算9255的值的值9255 = ( 92 )2 )2 )2 ) 2 )2 )2 )2 /9只需只需8次乘法和次乘法和1次除法运算。次除法运算。9255 = 9 92 94 98 916 932 964 9128只需做只需做14次乘法运算即可。次乘法运算即可。9255 = 9999但若写成但若写成若逐个相乘要用若逐个相乘要用254次乘法次乘法,19/32矩阵乘

19、积矩阵乘积AB的计算量分析的计算量分析a11 a12 a13 a1na21 a22 a23 a2n. . . am1 am2 amm-1 amnb11 b12 b13 b1sb21 b22 b23 b2s. . . bn1 bn2 bnn-1 bns=cijms因为因为 cij= aik bkj 计算每一个计算每一个cij的的计算量为计算量为n所以上面所以上面A m n B n s的计算量为的计算量为N= m n s计算量计算量:一个算法所需的乘除运算总次数,单位是:一个算法所需的乘除运算总次数,单位是flop. 计算量也是衡量一个算法好坏的重要标准。计算量也是衡量一个算法好坏的重要标准。20

20、/32作业:作业:P13 9、12实验内容实验内容 实验实验1.1、实验、实验 1.2(P1312)作业:作业:P1213 1、3、 4、6、821/32实验实验1.1(数值微分精度与步长的关系)(数值微分精度与步长的关系)实验目的:实验目的:数值计算中误差是不可避免的,要求通过数值计算中误差是不可避免的,要求通过本实验初步认识数值分析中两个重要概念:截断误差本实验初步认识数值分析中两个重要概念:截断误差和舍入误差,并认真体会误差对计算结果的影响。和舍入误差,并认真体会误差对计算结果的影响。问题提出:设一元函数问题提出:设一元函数f :RR,则,则f在在x0的导数定义为的导数定义为:hxfhx

21、fxfh)()(lim)( 0000实验内容实验内容:根据不同的步长根据不同的步长h可设计两种算法可设计两种算法,计算计算f在在x0处的导数处的导数22/32计算一阶导数的算法计算一阶导数的算法:hxfhxfxf)()()( 000hhxfhxfxf2)()()( 000请给出两个计算高阶导数的近似算法请给出两个计算高阶导数的近似算法,并完成如下工作并完成如下工作:(1)(2)1、对同样的、对同样的h,比较,比较(1)式和式和(2)式的计算结果;式的计算结果;2、针对计算高阶导数的算法,比较、针对计算高阶导数的算法,比较h取不同值时取不同值时(1)式和式和(2)式的计算结果;式的计算结果;实验

22、要求实验要求:选择有代表性的函数:选择有代表性的函数f (x)(最好多选择几(最好多选择几个),利用个),利用Matlab提供的绘图工具画出该函数在某区提供的绘图工具画出该函数在某区间的导数曲线间的导数曲线f (s)(x),再将数值计算的结果用,再将数值计算的结果用Matlab 画出来,认真思考实验的结果。画出来,认真思考实验的结果。23/32function y=dsh1(fu,x,h)y=(feval(fu,x+h)-feval(fu,x)/h;y函数文件函数文件(扩展名为扩展名为.m),可以被其命令调用可以被其命令调用格式格式:function输出参数输出参数=函数名函数名(输入参数输入

23、参数)可以是可以是多个多个函数名函数名一个一个注意注意:1、保存的文件名与函数名要一、保存的文件名与函数名要一致,这样才能保证调用成功;致,这样才能保证调用成功;2、调用时的输入输出参数要与、调用时的输入输出参数要与函数中的一样;函数中的一样;3、养成良好的注释习惯,便于、养成良好的注释习惯,便于自己或用户调用定义的函数。自己或用户调用定义的函数。注释语句注释语句(前面有前面有%)程序语句程序语句hxfhxfxf)()()( 000hhxfhxfxf2)()()( 000function y=dsh2(fu,x,h)y=(feval(fu,x+h)-feval(fu,x-h)/(2*h);y

24、调用格式:调用格式:dsh2(sin,1,0.01) 调用格式:调用格式:dsh1(sin,1,0.01)实验报告要上交,不能有相同的报告。实验报告要上交,不能有相同的报告。(否则,两个都作废,不予记分)(否则,两个都作废,不予记分)24/32 真解真解:cos(1)=0.5403ans = 0.5403 dsh1(sin,1,0.1)y = 0.4974 dsh1(sin,1,0.01)y = 0.5361 dsh1(sin,1,0.001)y = 0.5399dsh1(sin,1,0.0001)y = 0.5403f(x)=sin(x)hxfhxfxf)()()( 000-2,2的图形的图

25、形要求:真解和要求:真解和近似解做在一近似解做在一张图上,近似张图上,近似解的散点图有解的散点图有红色的红色的*表示表示,便于比较便于比较.h=0.1有偏差有偏差公式公式125/32h=0.1有偏差有偏差26/32 dsh2(sin,1,0.1)y = 0.5394dsh2(sin,1,0.01)y = 0.5403hhxfhxfxf2)()()( 000 真解真解:cos(1)=05403ans = 0.5403大家可以找其他大家可以找其他的函数来检验的函数来检验-2,2的图形的图形 plot(x,y,*r,x,y1,-)y=dsh2(sin,-2*pi:0.1:2*pi,0.01);y1=

26、cos(x)x=-2*pi:0.1:2*pi;h=0.01几乎没有几乎没有偏差偏差公式公式227/32h=0.01几乎看不几乎看不出误差出误差28/32dsh1(sin,1,0.00000001)y = 0.5403dsh1(sin,1,0.0000000000001)y = 0.5396步长为步长为10-12dsh1(sin,1,0.00000000000001)y = 0.5440 dsh1(sin,1,0.000000000000001)y = 0.5551dsh1(sin,1,0.0000000000000001)y = 0步长为步长为10-15hxfhxfxf)()()( 00029

27、/32 截断误差用我们原有的数学思维方式就比较容易截断误差用我们原有的数学思维方式就比较容易理解的,而舍入误差则是本课程引入的一个新概念。理解的,而舍入误差则是本课程引入的一个新概念。要真正理解舍入误差,特别是它在计算中的传播及最要真正理解舍入误差,特别是它在计算中的传播及最终对计算结果的影响,是初步具备科学计算能力的重终对计算结果的影响,是初步具备科学计算能力的重要标志。希望大家在完成实验后,认真仔细去体会截要标志。希望大家在完成实验后,认真仔细去体会截断误差和舍入误差的含义及对计算结果的影响。断误差和舍入误差的含义及对计算结果的影响。图图010-710-510-510-410-310-21

28、0-110-310-1误误差差步长步长h30/32实验分析实验分析:不论采用怎样的算法,计算结果通常都:不论采用怎样的算法,计算结果通常都会有误差。比如算法会有误差。比如算法(1),由,由Taylor公式,知:公式,知:)()( ! 2)( )()(302000hOxfhxhfxfhxf所以有所以有)()( ! 2)( )()(20000hOxfhxfhxfhxf利用上式来计算利用上式来计算f (x0),其截断误差为:,其截断误差为:)()( ! 2201hOxfhT所以误差是存在的,并且当步长所以误差是存在的,并且当步长h越来越小时,越来越小时,(1)的的近似程度也越来越好。近似程度也越来越

29、好。截断误差截断误差31/32类似地可以分析类似地可以分析(2)的截断误差为:的截断误差为:)()(! 330)3(22hOxfhT截断误差截断误差上述截断误差的分析表明上述截断误差的分析表明(2)是比是比(1)更好的算法,因为更好的算法,因为对步长对步长h(0,n=1,2,当当n=1时,得:时,得:edxxeIx11011当当n2时,由分部积分可得:时,由分部积分可得:11011nxnnnIdxexIn=2,3,另外,还有:另外,还有:1110101ndxxdxexInxnn34/32实验内容实验内容:由递推关系:由递推关系In=1-nIn-1,可得计算积分,可得计算积分序列序列In的两种算

30、法:的两种算法:算法一、直接使用递推公式得:算法一、直接使用递推公式得:eI11In=1-nIn-1 n=2,3算法二、利用递推公式变形得:算法二、利用递推公式变形得:,.3 , 2101nnIIInnN实验要求实验要求:用上述两种算法分别在计算中采用:用上述两种算法分别在计算中采用5位、位、6位和位和7位有效数字,请判断哪种算法给出的结果更精确位有效数字,请判断哪种算法给出的结果更精确.35/32实验分析:实验分析:两种算法的优劣可能与你的第一感觉完全不同。两种算法的优劣可能与你的第一感觉完全不同。设算法一中设算法一中I1的误差为的误差为e1,由,由I1递推计算递推计算In的误差为的误差为e

31、n算法二中算法二中IN的误差为的误差为N,由,由IN向前递推计算向前递推计算In (ndsh2(sin,1,0.01) 调用格式:调用格式:dsh1(sin,1,0.01)实验报告要上交,不能有相同的报告。实验报告要上交,不能有相同的报告。(否则,两个都作废,不予记分)(否则,两个都作废,不予记分)43/32 真解真解:cos(1)=0.5403ans = 0.5403 dsh1(sin,1,0.1)y = 0.4974 dsh1(sin,1,0.01)y = 0.5361 dsh1(sin,1,0.001)y = 0.5399dsh1(sin,1,0.0001)y = 0.5403f(x)=

32、sin(x)hxfhxfxf)()()( 000-2,2的图形的图形要求:真解和要求:真解和近似解做在一近似解做在一张图上,近似张图上,近似解的散点图有解的散点图有红色的红色的*表示表示,便于比较便于比较.h=0.1有偏差有偏差44/3245/32 dsh2(sin,1,0.1)y = 0.5394dsh2(sin,1,0.01)y = 0.5403hhxfhxfxf2)()()( 000 真解真解:cos(1)=05403ans = 0.5403大家可以找其他大家可以找其他的函数来检验的函数来检验-2,2的图形的图形 plot(x,y,*r,x,y1,-)y=dsh2(sin,-2*pi:0

33、.1:2*pi,0.01);y1=cos(x)x=-2*pi:0.1:2*pi;h=0.01几乎没有几乎没有偏差偏差46/3247/32dsh1(sin,1,0.00000001)y = 0.5403dsh1(sin,1,0.0000000000001)y = 0.5396步长为步长为10-12dsh1(sin,1,0.00000000000001)y = 0.5440 dsh1(sin,1,0.000000000000001)y = 0.5551dsh1(sin,1,0.0000000000000001)y = 0步长为步长为10-15 真解真解:cos(1)=05403ans = 0.54

34、0348/32 截断误差用我们原有的数学思维方式就比较容易截断误差用我们原有的数学思维方式就比较容易理解的,而舍入误差则是本课程引入的一个新概念。理解的,而舍入误差则是本课程引入的一个新概念。要真正理解舍入误差,特别是它在计算中的传播及最要真正理解舍入误差,特别是它在计算中的传播及最终对计算结果的影响,是初步具备科学计算能力的重终对计算结果的影响,是初步具备科学计算能力的重要标志。希望大家在完成实验后,认真仔细去体会截要标志。希望大家在完成实验后,认真仔细去体会截断误差和舍入误差的含义及对计算结果的影响。断误差和舍入误差的含义及对计算结果的影响。图图010-710-510-510-410-31

35、0-210-110-310-1误误差差步长步长h49/32实验分析实验分析:不论采用怎样的算法,计算结果通常都:不论采用怎样的算法,计算结果通常都会有误差。比如算法会有误差。比如算法(1),由,由Taylor公式,知:公式,知:)()( ! 2)( )()(302000hOxfhxhfxfhxf所以有所以有)()( ! 2)( )()(20000hOxfhxfhxfhxf利用上式来计算利用上式来计算f (x0),其截断误差为:,其截断误差为:)()( ! 2201hOxfhT所以误差是存在的,并且当步长所以误差是存在的,并且当步长h越来越小时,越来越小时,(1)的的近似程度也越来越好。近似程度

36、也越来越好。截断误差截断误差50/32类似地可以分析类似地可以分析(2)的截断误差为:的截断误差为:)()(! 330)3(22hOxfhT截断误差截断误差上述截断误差的分析表明上述截断误差的分析表明(2)是比是比(1)更好的算法,因为更好的算法,因为对步长对步长h(0,n=1,2,当当n=1时,得:时,得:edxxeIx11011当当n2时,由分部积分可得:时,由分部积分可得:11011nxnnnIdxexIn=2,3,另外,还有:另外,还有:1110101ndxxdxexInxnn53/32实验内容实验内容:由递推关系:由递推关系In=1-nIn-1,可得计算积分,可得计算积分序列序列In

37、的两种算法:的两种算法:算法一、直接使用递推公式得:算法一、直接使用递推公式得:eI11In=1-nIn-1 n=2,3算法二、利用递推公式变形得:算法二、利用递推公式变形得:,.3 , 2101nnIIInnN实验要求实验要求:用上述两种算法分别在计算中采用:用上述两种算法分别在计算中采用5位、位、6位和位和7位有效数字,请判断哪种算法给出的结果更精确位有效数字,请判断哪种算法给出的结果更精确.54/32实验分析:实验分析:两种算法的优劣可能与你的第一感觉完全不同。两种算法的优劣可能与你的第一感觉完全不同。设算法一中设算法一中I1的误差为的误差为e1,由,由I1递推计算递推计算In的误差为的

38、误差为en算法二中算法二中IN的误差为的误差为N,由,由IN向前递推计算向前递推计算In (nN)的的误差为误差为n如果假定上述两种算法在后面的计算中都不再引入其如果假定上述两种算法在后面的计算中都不再引入其他误差,则有:他误差,则有:,.,3 , 2,!1nenen1 , 2 , 3,.,2, 1,!/ !NNmmNNm55/32 由此可见,算法一中的由此可见,算法一中的e1可能很小,但在计算可能很小,但在计算中它的影响急剧扩散,结果真实的数据很快被淹没中它的影响急剧扩散,结果真实的数据很快被淹没了;而算法二中的了;而算法二中的N可能相对比较大,但在计算中可能相对比较大,但在计算中误差影响不

39、扩散,某一步计算产生误差后,该误差误差影响不扩散,某一步计算产生误差后,该误差对后面的影响不断衰减。对后面的影响不断衰减。 误差扩散的算法是不稳定的,是我们所不期误差扩散的算法是不稳定的,是我们所不期望的;误差衰减的算法是稳定的,是我们努力寻望的;误差衰减的算法是稳定的,是我们努力寻求的,也是贯穿本课程始终的目标。求的,也是贯穿本课程始终的目标。56/32% 绘制简单的2维图-图3.1% 程序运行后,绘图窗口上出现纵横交叉的两条线,这是% 运行 gtext 的结果。移动鼠标交叉点会随之移动。% 注意程序中 hold 命令是如何使用的 x=-1:0.05:1 t0=1.0+0*x; t1=x; t2=2*x.*t1-t0; t3=2*x.*t2-t1; plot(x,t0,r); gtext(T0); title(Chebeshev P); xlabel(x); ylabel(y); hold on plot(x,t1,r); gtext(T1); plot(x,t2,r); gtext(T2); plot(x,t3,r); gtext(T3); hold off 命令文件命令文件

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁