05常微分方程数值解 1_第1页
05常微分方程数值解 1_第2页
05常微分方程数值解 1_第3页
05常微分方程数值解 1_第4页
05常微分方程数值解 1_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

第五章,常微分方程数值解法,(NumericalMethodsforOrdinaryDifferentialEquations),常微分方程分为(1)初值问题(2)边值问题,一、初值问题的数值解法,1引言,一阶常微分方程初值问题的一般形式是:,称在区域D上对满足Lipschitz条件是指:,二、初值问题解的存在性,考虑一阶常微分方程的初值问题/*Initial-ValueProblem*/:,则上述IVP存在唯一解。,只要在上连续,且关于y满足Lipschitz条件,,即存在与无关的常数L使,对任意定义在上的都成立,,要计算出解函数y(x)在一系列节点a=x0x1xn=b处的近似值采用离散化方法。,称节点间距为步长,通常采用等距节点,即取hi=h(常数)。,三、初值问题的离散化方法,离散化方法的基本特点是依照某一递推公式,,值,取。,按节点从左至右的顺序依次求出的近似,如果计算需用到前r步的值,则称这类方法为r步方法。,2欧拉方法/*EulersMethod*/,欧拉公式(单步显示公式):,向前差商近似导数,亦称为欧拉折线法/*Eulerspolygonalarcmethod*/,在假设yi=y(xi),即第i步计算是精确的前提下,考虑的截断误差Ri=y(xi+1)yi+1称为局部截断误差/*localtruncationerror*/。,定义,若某算法的局部截断误差为O(hp+1),则称该算法有p阶精度。,定义,欧拉法的局部截断误差:,Ri的主项/*leadingterm*/,欧拉法具有1阶精度。,例1:用欧拉公式求解初值问题,取步长。,解:应用Euler公式于题给初值问题的具体形式为:,其中。,计算结果列于下表:,可用来检验近似解的准确程度。,进行计算,数值解已达到了一定的精度。,这个初值问题的准确解为,,从上表最后一列,我们看到取步长,欧拉公式的改进:,隐式欧拉法/*implicitEulermethod*/,向后差商近似导数,由于未知数yi+1同时出现在等式的两边,不能直接得到,故称为隐式/*implicit*/欧拉公式,而前者称为显式/*explicit*/欧拉公式。,一般先用显式计算一个初值,再迭代求解。,隐式欧拉法的局部截断误差:,即隐式欧拉公式具有1阶精度。,梯形公式/*trapezoidformula*/,显、隐式两种算法的平均,注:的确有局部截断误差,,即梯形公式具有2阶精度,比欧拉方法有了进步。,但注意到该公式是隐式公式,计算时不得不用到,迭代法,其迭代收敛性与欧拉公式相似。,中点欧拉公式/*midpointformula*/,中心差商近似导数,假设,则可以导出即中点公式具有2阶精度。,简单,精度低,稳定性最好,精度低,计算量大,精度提高,计算量大,精度提高,显式,多一个初值,可能影响精度,Cantyougivemeaformulawithalltheadvantagesyetwithoutanyofthedisadvantages?,Doyouthinkitpossible?,Well,callmegreedy,OK,letsmakeitpossible.,改进欧拉法/*modifiedEulersmethod*/,Step1:先用显式欧拉公式作预测,算出,注:此法亦称为预测-校正法/*predictor-correctormethod*/,可以证明该算法具有2阶精度,同时可以看到它,是个单步递推格式,比隐式公式的迭代求解过程,简单。后面将看到,它的稳定性高于显式欧拉法。,改进的欧拉法,在实际计算时,可将欧拉法与梯形法则相结合,计算公式为,应用改进欧拉法,如果序列收敛,它的极限便满足方程,改进欧拉法的截断误差,因此,改进欧拉法公式具有2阶精度,例2:,用改进Euler公式求解例1中的初值问题,,取步长。,解:对此初值问题采用改进Euler公式,其具体形式为,计算结果列于下表:,改进的Euler法,Euler法,通过计算结果得比较可以看出,改进的Euler方法,的计算精度比Euler方法要高。,3龙格-库塔法/*Runge-KuttaMethod*/,建立高精度的单步递推格式。,单步递推法的基本思想是从(xi,yi)点出发,,欧拉法及其各种变形所能达到的最高精度为2阶。,以某一斜率沿直线达到点。,考察改进的欧拉法,可以将其改写为:,斜率一定取K1K2的平均值吗?,步长一定是一个h吗?,首先希望能确定系数1、2、p,使得到的算法格式有2阶精度,即在的前提假设下,使得,Step1:将K2在(xi,yi)点作Taylor展开,Step2:将K2代入第1式,得到,Step3:将yi+1与y(xi+1)在xi点的泰勒展开作比较,要求,则必须有:,这里有个未知数,个方程。,3,2,存在无穷多个解。所有满足上式的格式统称为2阶龙格-库塔格式。,注意到,就是改进的欧拉法。,为获得更高的精度,应该如何进一步推广?,其中i(i=1,m),i(i=2,m)和ij(i=2,m;j=1,i1)均为待定系数,确定这些系数的步骤与前面相似。,考虑一阶常微分方程初值问题,将区域a,b进行分划:,若,则,n级显式Runge-Kutta方法,二阶Runge-Kutta方法,取n=2,记,由此得,另一方面,为使局部截断误差为,应取,改进的Euler方法,取,中点方法,取,二阶Heun方法,取,二级Runge-Kutta方法不超过二阶,记,则,因此局部截断误差只能达到,三级Runge-Kutta方法,取n=3,记,又由于,因此要使局部截断误差为,必须,Kutta方法,取,三阶Heun方法,取,三级Runge-Kutta方法不超过三阶,完全类似于二级Runge-Kutta方法的分析,只能达到,三级Runge-Kutta方法的局部截断误差,将和都展开到项,易证,四级R-K方法,取n=4,局部截断误差为O(h5),最常用为四级4阶经典龙格-库塔法/*ClassicalRunge-KuttaMethod*/:,附注:,二阶Runge-Kutta方法的局部截断误差只能达到,五阶Runge-Kutta方法的局部截断误差只能达到,四阶Runge-Kutta方法的局部截断误差只能达到,三阶Runge-Kutta方法的局部截断误差只能达到,注:龙格-库塔法的主要运算在于计算的值,即计算的值。Butcher于1965年给出了计算量与可达到的最高精度阶数的关系:,由于龙格-库塔法的导出基于泰勒展开,故精,太好的解,最好采用低阶算法而将步长h取小。,度主要受解函数的光滑性影响。对于光滑性不,4单步方法的收敛性与稳定性/*ConvergencyandStability*/,收敛性/*Convergency*/,例:就初值问题考察欧拉显式格式的收敛性。,解:该问题的精确解为,欧拉公式为,对任意固定的x=xi=ih,有,稳定性/*Stability*/,例:考察初值问题在区间0,0.5上的解.分别用欧拉显、隐式格式和改进的欧拉格式计算数值解。,1.00002.00004.00008.00001.60001013.2000101,1.00002.50001016.25001021.56251023.90631039.7656104,1.00002.50006.25001.56261013.90631019.7656101,1.00004.97871022.47881031.23411046.14421063.0590107,Whatiswrong?!,一般分析时为简单起见,只考虑试验方程/*testequation*/,常数,可以是复数,我们称算法A比算法B稳定,就是指A的绝对稳定区域比B的大。,当步长取为h时,将某算法应用于上式,并假设只在,初值产生误差,则若此误差

温馨提示

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

评论

0/150

提交评论