




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第4章 线性多步法4.1 线性多步法的一般公式前面给出了求解初值问题(1.2.1)的单步法,其特点是计算 时只用到 的值,此时 的值均已算出.如果在计算 时除用 的值外,还用到 的值,这就是多步法.若记,h为步长,则线性多步法可表示为(4.1.1)其中为常数,若(即不同时为零),称(4.1.1)为线性k步法.计算时用到前面已算出的k个值.当时,(4.1.1)为显式多步方法,当则称(4.1.1)为隐式多步法.隐式方法与梯形方法一样,计算时要用迭代法求.多步法(4.1.1)的局部截断误差定义也与单步法类似.举例来说,对于初值问题,步数k=2时,线性多步法表示为当时,格式为显示的:,而时,格式为隐式
2、的:。定义4.1设y(x)是初值问题(1.2.1)的精确解,线性多步法(4.1.1)在处的局部截断误差定义为(4.1.2)若,则称线性多步法(4.1.1)是p阶的.1 / 15如果我们希望得到的多步法是p阶的,则可利用Taylor公式展开,将在处展开到阶,它可表示为(4.1.3)注意,(4.1.2)式按Taylor展开可得经整理比较系数可得(4.1.4)若线性多步法(4.1.1)为p阶,则可令于是得局部截断误差 (4.1.5)右端第一项称为局部截断误差主项.称为误差常数.要使多步法(4.1.1)逼近初值问题(1.2.1),方法的阶p1,当p=1时,则,由(4.1.4)得 (4.1.6)称为相容
3、性条件.公式(4.1.1)当k=1时即为单步法,若,由(4.1.6)则得2 / 15式(4.1.1)就是,即为Euler法.此时,方法为p=1阶.若,由得,为确定及,必须令,由(4.1.4)得及此时(4.1.1)就是,即为梯形法.由故p=2,方法是二阶的,与3.1节中给出的结果相同.实际上,当k给定后,则可利用(4.1.4)求出公式(4.1.1)中的系数及,并求得的表达式(4.1.5).4.2 Adams显式与隐式方法形如(4.2.1)的k步法称为 Adams 方法,当 时为 Adams 显式方法,当时,称为Adams隐式方法.对初值问题(1.2.1)的方程两端从到积分得显然只要对右端的积分用
4、插值求积公式,求积节点取为即可推出形如(4.2.1)的多步法,但这里我们仍采用Taylor展开的方法直接确定(4.2.1)的系数.对比(4.1.1)可知,此时,只要确定即可.现在若k=4且,即为4步的Adams显式方法3 / 15其中为待定参数,若直接用(4.1.4),可知此时自然成立,再令可得解此方程组得 .由此得到于是得到四阶Adams显式方法及其余项为(4.2.2) (4.2.3)若,则可得到p=4的Adams隐式公式,则k=3并令,由(4.1.4)可得解得,而,于是得到四阶Adams隐式方法及余项为(4.2.4) (4.2.5)4 / 15一般情形,k步Adams显式方法是k阶的,k=
5、1即为Euler法,k=2为k=3时,.k步隐式方法是(k+1)阶公式,k=1为梯形法,k=2为三阶隐式Adams公式k步的Adams方法计算时必须先用其他方法求出前面k个初值才能按给定公式算出后面各点的值,它每步只需计算一个新的f值,计算量少,但改变步长时前面的也要跟着重算,不如单步法简便.例4.1 用四阶显式Adams方法及四阶隐式Adams方法解初值问题,步长h=0.1用到的初始值由精确解计算得到.解 本题直接由公式(4.2.2)及(4.2.4)计算得到.对于显式方法,将直接代入式(4.2.2)得到其中.对于隐式方法,由式(4.2.4)可得到直接求出,而不用迭代,得到计算结果如表所示.表
6、4-1 Adams方法和Adams隐式方法的数值解与精确解比较5 / 154.3 Adams预测-校正方法上述给出的Adams显式方法计算简单,但精度比隐式方法差,而隐式方法由于每步要做迭代,计算不方便.为了避免迭代,通常可将同阶的显式Adams方法与隐式Adams方法结合,组成预测-校正方法.以四阶方法为例,可用显式方法(4.2.2)计算初始近似,这个步骤称为预测(Predictor),以P表示,接着计算f值(Evaluation),,这个步骤用E表示,然后用隐式公式(4.2.4)计算,称为校正(Corrector),以C表示,最后再计算,为下一步计算做准备.整个算法如下:(4.3.1)公式
7、(4.3.1)称为四阶Adams预测-校正方法(PECE). 其matlab程序如下function y = DEYCJZ_adms(f, h,a,b,y0,varvec,type)format long;N = (b-a)/h;y = zeros(N+1,1);x = a:h:b;y(1) = y0;y(2) = y0+h*Funval(f,varvec,x(1) y(1);y(3) = y(2)+h*Funval(f,varvec,x(2) y(2);y(4) = y(3)+h*Funval(f,varvec,x(3) y(3);for i=5:N+1 v1 = Funval(f,varv
8、ec,x(i-4) y(i-4); v2 = Funval(f,varvec,x(i-3) y(i-3); v3 = Funval(f,varvec,x(i-2) y(i-2); v4 = Funval(f,varvec,x(i-1) y(i-1); t = y(i-1) + h*(55*v4 - 59*v3 + 37*v2 - 9*v1)/24; ft = Funval(f,varvec,x(i) t); y(i) = y(i-1)+h*(9*ft+19*v4-5*v3+v2)/24;endformat short;6 / 15利用(4.2.2)和(4.2.4)的局部截断误差(4.2.3)和
9、(4.2.5)可对预测-校正方法(4.3.1)进行修改,在(4.3.1)中的步骤P有对于步骤C有两式相减可得于是有若用代替上式,并令显然比更好,但注意到的表达式中是未知的,因此改为下面给出修正的预测-校正格式(PMECME). (4.3.2)经过修正后的PMECME格式比原来PECE格式提高一阶. 4.4 Milne方法与 Hamming方法 与Adams显式方法不同的另一类四阶显式方法的计算公式形如7 / 15 (4.4.1)这里为待定常数,此公式也是k=4步方法,即计算时要用到4个值.为了确定,当然可以利用公式(4.2.1)直接算出,但下面我们直接利用Taylor展开式确定,使它的阶尽量高
10、.方法(4.4.1)的局部截断误差为将它在点展成Taylor级数,得要使公式的阶尽量高,要令前3项系数为0.即解得,代入公式,的系数为0,故(4.4.2)于是得四阶方法(4.4.3)称为Milne公式,它的局部截断误差为(4.4.2).与(4.4.3)配对的隐式方法为k=3的多步法,它的一般形式可表示为8 / 15要求公式的阶p=4,可直接用(4.2.1),并令,可得 (4.4.4)若令,可解出,于是得到下列四阶方法(4.4.5)称为Simpson公式,它的局部截断误差为 (4.4.6)用Simpson公式与Milne公式(4.4.3)相匹配,用(4.4.3)做预测,(4.4.5)做校正,由于
11、(4.4.5)的稳定性较差,因此通常较少使用.为了改善稳定性,可重新选择四阶的隐式公式,Hamming通过试验,发现在(4.4.4)中若令,得到的公式稳定性较好,此时(4.4.4)的解为,于是得四阶多步法(4.4.7)称为Hamming公式,它的局部截断误差为 (4.4.8)用Milne公式(4.4.3)与Hamming公式(4.4.7)相匹配,并利用截断误差公式(4.4.2)与(4.4.8)改进计算结果. (4.4.7)该算法称为Hamming预测-校正法。类似Adams预测-校正格式(4.3.2),可得以下的修正的milne-Hamming预测-校正格式:9 / 15 (4.4.9)附 h
12、amming程序function y = DEYCJZ_hm(f, h,a,b,y0,varvec,type)format long;N = (b-a)/h;y = zeros(N+1,1);x = a:h:b;y(1) = y0;y(2) = y0+h*Funval(f,varvec,x(1) y(1);y(3) = y(2)+h*Funval(f,varvec,x(2) y(2);y(4) = y(3)+h*Funval(f,varvec,x(3) y(3);if type = 1 %hamming预测校正法 for i=5:N+1 v1 = Funval(f,varvec,x(i-3)
13、y(i-3); v2 = Funval(f,varvec,x(i-2) y(i-2); v3 = Funval(f,varvec,x(i-1) y(i-1); t = y(i-4) + 4*h*(2*v3 - v2 + 2*v1)/3; ft = Funval(f,varvec,x(i) t); y(i) = (9*y(i-1) -y(i-3) +3*h*(2*v3 + ft-v2)/8; endelse %修正的hamming预测校正法 p0 = 0; c = 0; for i = 5:N+1 v1 = Funval(f,varvec,x(i-3) y(i-3); v2 = Funval(f
14、,varvec,x(i-2) y(i-2); v3 = Funval(f,varvec,x(i-1) y(i-1); p = y(i-4)+4*h*(2*v3 - v2 + 2*v1)/3; M = p - 112*(p0 - c)/121; F = Funval(f , varvec, x(i) ,M); c = (9*y(i-1) -y(i-3) +3*h*(2*v3 + F-v2)/8; y(i) = c + 9*( p - c)/121; p0 = p; endendformat short;10 / 15例4.2 用四步四阶显式Milne公式及三步四阶隐式Hamming公式解初值问题
15、,步长h=0.1初值仍由精确解给出,要求计算到为止,给出计算结果及误差,并与例4.1结果比较.解 直接用公式(4.4.3)及(4.4.7)计算.用Milne法计算公式为其中误差用Hamming方法(4.4.7)计算公式为可解得 ,n=2,3,411 / 15误差从所得结果可见Milne方法误差比显式Adams方法误差略小,而Hamming方法与隐式Adams方法误差相当.例4.3 将例4.2的初值问题用修正的Milne-Hamming预测-校正公式计算及,初值,仍用已算出的精确解,即,给出计算结果及误差.解根据修正的Milne-Hamming预测-校正公式(4.4.9)得从结果看,此方法误差比
16、四阶Adams隐式法和四阶Hamming方法小,这与理论分析一致.讲解:线性多步法(4.1.1)的局部截断误差定义为与单步法相似,可表示为(4.1.2),即12 / 15只要直接将右端各项在处展成Taylor公式,根据公式阶数为阶,即按的幂整理,令各项系数为0,则可求得相应的线性多步法及其局部截断误差,这里只用到一元函数的Taylor展开.因此不必记系数满足的公式(7.5.4),只要直接展开即可,它不但可以求出Adams显式与隐式公式以及Milne公式,Hamming公式等,还可以求出任何需要的多步法公式,下面再给出两个例题,说明如何直接用Taylor展开的方法.例4.4 解初值问题用显式二步
17、法,其中.试确定参数使方法除数尽可提高.并求局部截断误差.解 本题仍根据截断误差定义,用Taylor展开确定参数满足的方程,由于为求参数使就地介数尽量高,可令及得方程组解得此时公式为三阶,而且13 / 15即为所求局部截断误差.而所得二步法为 例4.5 证明线性多步法存在的一个值,使方法是四阶的.证明只要证明局部截断误差,则方法为四阶.仍用Taylor展开,由于当时,故方法是四阶的.4.5 练习题1. 自编matlab程序得到例4.1中初值问题的四阶Adams显示多步法和四阶隐式多步法的数值结果,列出表4-1,并画出解曲线对比图。2. 应用Adams显示方法、Adams隐式方法和Adams预测校正方法求解下列初值问题的数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 志愿者服务工作总结与计划
- 培养员工领导能力的途径计划
- 如何合理分配仓库资源计划
- 2025年高性能铜镍合金带、线材项目建议书
- 提升财务职能参与战略管理的水平计划
- 激发学生学习兴趣的行动方案计划
- 建立班级评价体系的必要性计划
- 2025年脉冲反应堆及配套产品项目发展计划
- 修理厂入股合同协议书(2025年版)
- 会展策划合同(2025年版)
- 滥用抗生素现状及危害课件
- 机械制造技术基础(课程课件完整版)
- 上下级关系与领导力管理制度
- 堆垛机保护保养手册
- 2024年卫生资格(中初级)-初级药师考试近5年真题集锦(频考类试题)带答案
- 2024年职业病防治考试题库附答案(版)
- 【呋塞米合成工艺的探究进展5300字(论文)】
- GB/T 18385-2024纯电动汽车动力性能试验方法
- 浙江省杭州市杭州二中钱江学校2024-2025学年高一物理下学期月考试题含解析
- 公路冲击碾压应用技术指南
- 修复征信服务合同模板
评论
0/150
提交评论