为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法课件PPT

计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法课件PPT

2021-03-25 62页 ppt 745KB 42阅读

用户头像 机构认证

夕夕资料

拥有专业强大的教研实力和完善的师资团队,专注为用户提供合同简历、论文写作、PPT设计、计划书、策划案、各类模板等,同时素材和资料部分来自网络,仅供参考.

举报
计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法课件PPT第12次常微分方程初值问题数值解法计算方法(NumericalAnalysis)内容常微分方程初值问题解的存在性定理Euler公式梯形公式两步Euler公式欧拉法的局部截断误差改进型Euler公式龙格-库塔法算法实现常微分方程初值问题解的存在性定理第9章常微分方程初值问题数值解法包含自变量、未知函数及未知函数的导数的方程称为微分方程。微分方程中出现的未知函数最高阶导数的阶数称为微分方程的阶数。§9.1引言自变量个数只有一个的微分方程称为常微分方程。如下是一些典型方程求解析解的基本方法可分离变量法、常系数齐次线性方程的解法、常系...
计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法课件PPT
第12次常微分方程初值问题数值解法计算方法(NumericalAnalysis)内容常微分方程初值问题解的存在性定理Euler公式梯形公式两步Euler公式欧拉法的局部截断误差改进型Euler公式龙格-库塔法算法实现常微分方程初值问题解的存在性定理第9章常微分方程初值问题数值解法包含自变量、未知函数及未知函数的导数的方程称为微分方程。微分方程中出现的未知函数最高阶导数的阶数称为微分方程的阶数。§9.1引言自变量个数只有一个的微分方程称为常微分方程。如下是一些典型方程求解析解的基本方法可分离变量法、常系数齐次线性方程的解法、常系数非齐次线性方程的解法等。从实际问题当中归纳出来的微分方程,通常主要依靠数值解法来解决。定理1:如果函数f(x,y)在带形区域则方程(9.1)在a,b上存在唯一的连续可微分的解的解y=y(x)。内连续,且关于y满足李普希兹(Lipschitz)条件,即存在常数L(它与x,y无关)使推论:如果函数f(x,y)对y的偏导数在带形区域对R内的所有x,y都成立。即存在常数L(它与x,y无关)使则方程(9.1)在a,b上存在唯一的连续可微解y=y(x)。内有界。HomeEuler公式本章假设微分方程初值问题(9.1)有解常微分方程初值问题(9.1)的数值解法的基本思想:算出精确解y(x)在区间a,b上的一系列离散节点的近似值处的函数值y=y(x)a=x0xn=bx1x2x3(未知)……相邻两个节点的间距称为步长,步长可以相等,也可以不等。数值解法需要把连续性的问题加以离散化,从而求出离散节点的数值解。常微分方程数值解法的基本出发点:离散化。采用“步进式”,即求解过程顺着节点排列的次序逐步向前推进。中的导数进行离散化处理。以便对初值问题欧拉(Euler)方法是解初值问题的最简单的数值方法。§9.2简单的数值方法与基本概念的解y=y(x)代通过点的一条称之为微分方程的积分曲线。积分曲线上每一点的切线的斜率等于函数在这点的函数值。9.2.1Euler公式初值问题Euler法的求解过程:从初始点P0(即点(x0,y0))出发,作积分曲线y=y(x)在P0点上切线,其斜率为y=y(x)x0xix1yx2P1(x1,y1)P0Pnxi+1xnP2(x2,y2)Pi(xi,yi)Pi+1(xi+1,yi+1)y(x1)y(x2)y(xi)y(xi+1)y(xn)y(x0)这样就获得了P1点的坐标:(x1,y1)。将y1作为y(x1)的近似值(想象(x1,y1)在积分曲线y=y(x)上)当时,得过点P1(x1,y1),作积分曲线y=y(x)的切线交直线x=x2于P2点。注意切线的斜率(近似)为直线方程为:当时,得由此获得了P2的坐标。直线的方程为:当时,得重复以上过程,对已求得点,以为(近似)斜率作直线y=y(x)x0xix1yx2y1P0Pnxi+1xny2yiyi+1y(x1)y(x2)y(xi)y(xi+1)y(xn)y(x0)yn微分方程(9.1)的精确解y=y(x)的近似解为:y1,y2,…,yn注:还可用数值积分法和泰勒展开法推导Euler公式(略)。Euler公式解:取h=0.1,根据Euler公式,得例9.1:利用Euler公式求解微分方程的初值问题由x0=0,y0=1,代入以上公式,得y1=1.1*y0-0.2*x0/y0=1.1课堂练习:计算出x2,y2;x3,y3x0=0,y0=1x1=0.1,y1=1.1计算结果比较:初值问题有解:可以由此公式计算出准确解:y(xn)欧拉法准确值xnyny(xn)0.11.10001.09540.21.19181.18320.31.27741.26490.41.35821.34160.51.43511.41420.61.50901.48320.71.58031.54920.81.64981.61250.91.71781.67331.01.78481.7321y=y(x)的近似解010.10.20.30.40.50.60.70.80.9Home11.52梯形公式9.2.2梯形公式(9.4)改用梯形方法计算其积分项,即为了提高精度,对方程的两端在区间上积分得,(9.5)式的右端含有未知的yi+1,它是一个关于yi+1的函数方程,这类数值方法称为隐式方法。相反地,欧拉法是显式方法。代入(7.4)式,并用近似代替式中即可得到梯形公式(9.5)由于数值积分的梯形公式比矩形公式的精度高,所以梯形公式(9.5)比欧拉公式(9.2)的精度高。求解困难Home两步Euler公式对方程两端在区间上积分得(9.6)改用中矩形公式计算其积分项,即代入上式,并用yi近似代替式中y(xi)即可得到(9.7)9.2.3两步欧拉公式两步欧拉公式2个区间【注】欧拉方法和梯形方法,都是单步法,其特点是在计算yi+1时只用到前一步的信息yi;而两步欧拉公式(9.7)中除了yi外,还用到更前一步的信息yi-1,即调用了前两步的信息。Home欧拉法的局部截断误差9.2.4.欧拉法的局部截断误差定义9.1在yi准确的前提下,即时,用数值方法计算yi+1的误差:衡量求解公式好坏的一个主要是求解公式的精度,因此引入局部截断误差和阶数的概念。称为该数值方法计算时yi+1的局部截断误差。欧拉公式的截断误差推导:定义9.2若数值方法的局部截断误差为,则称这种数值方法的精度阶数是P。步长(h<1)越小,P越高,则局部截断误差越小。计算精度越高。评论:欧拉公式的精度讨论两步欧拉公式的局部截断误差为:从而两步欧拉公式的阶数是2.推导过程省略。欧拉公式的局部截断误差为:y(xi+1)–yi+1=O(h2)欧拉方法仅为一阶方法。Home改进的Euler公式9.2.5改进的欧拉公式欲综合欧拉公式和梯形公式,得到改进的欧拉公式。计算工作量小,但精度低。显式欧拉公式(9.10)预测:校正:改进的思路:这种预测-校正方法称为改进的欧拉公式:可以证明,公式(9.10)的精度为二阶。(9.11)通常表示成下列平均化形式(9.12)(9.10)可以改写为如下的一步显式格式:例9.2用改进欧拉法解初值问题区间为0,1,取步长h=0.1解:改进欧拉法公式课堂练习:x0=0,y0=1计算出计算结果比较(Matlab):初值问题有解:按照此公式计算出:y(xn)并且和由欧拉方法计算结果进行比较。与改进的欧拉方法计算结果进行比较对比结果:改进欧拉方法精确度更高改进欧拉法欧拉法准确值Homexnynyny(xn)0.11.10001.09591.09540.21.19181.18411.18320.31.27741.26621.26490.41.35821.34341.34160.51.43511.41641.41420.61.50901.48601.48320.71.58031.55251.54920.81.64981.61651.61250.91.71781.67821.67331.01.78481.73791.7321龙格-库塔法9.3.1龙格-库塔(Runge-Kutta)法的基本思想§9.3龙格-库塔(Runge-Kutta)法Euler公式可改写成(*)改进的Euler公式又可改写成欧拉公式与改进欧拉公式在形式上有一个共同点:都是用f(x,y)在某些点上值的线性组合得出y(xi+1)的近似值yi+1,而且增加计算f(x,y)的次数,可提高截断误差的阶。欧拉公式:每步计算一次f(x,y)的值,局部截断误差为于是可考虑用函数f(x,y)在若干点上的函数值的线性组合来构造近似公式。如此,可以构造出更高精度的计算格式,这就是龙格-库塔法的基本思想。改进欧拉公式:需计算两次f(x,y)的值,它是2阶方法,局部截断误差为。事实上,将方程的两端在区间上积分得,针对右端的积分可以使用不同的积分公式进行近似求解。和号中f(x)的取值节点越多,就越精确。Simpson公式:积分区间[a,b]划分为2等分,3个节点牛顿—柯特斯:将积分区间[a,b]划分为n等分,n+1个节点。在上取两点,经过精心构造,得到如下的2阶龙格-库塔格式(有2阶精度)9.3.2二阶龙格-库塔法(9.14)其中(9.17)满足条件(9.17)的格式(9.14)的局部截断误差为此条件保证了(9.14)近似效果最好。式(9.17)中有三个未知量,但只有两个方程,因而有无穷多解。若取,则p=1,将以上所解的值代入式(9.14)并改写可得不难发现,上面的格式就是改进的欧拉格式。9.3.4四阶龙格—库塔法如果需要再提高精度,用类似上述的处理方法,只需在区间上用四个点处的斜率加权平均作为平均斜率k*的近似值,构成一系列四阶龙格-库塔公式。具有四阶精度,即局部截断误差是。(9.20)经过精心的推导与构造(过程从略)得到最常用的一种4阶经典龙格-库塔公式。例9.3取步长h=0.2,用经典龙格-库塔公式求解初值问题。解:由四阶龙格-库塔公式可得:课堂:取h=0.2,计算y1取h=0.2,计算y1;x0=0,y0=1,取n=0取h=0.2,计算y2;x1=0.2,y1=1.1832,取n=1改进欧拉法欧拉法准确值四阶龙格-库塔法xnynynyny(xn)0.11.10001.09591.09540.21.19181.18411.18321.18320.31.27741.26621.26490.41.35821.34341.341621.34160.51.43511.41641.41420.61.50901.48601.48331.48320.71.58031.55251.54920.81.64981.61651.61251.61250.91.71781.67821.67331.01.78481.73791.73211.7321龙格-库塔方法的推导基于Taylor展开方法,因而它所求的解具有较好的光滑性。如果解的光滑性差,那么,使用四阶龙格—库塔方法求得的数值解,其精度可能反而不如改进的欧拉方法。在实际计算时,应当针对问题的具体特点选择合适的算法。龙格-库塔方法:算法实现这部分不会出现在笔试卷子中;只作为Matlab编程的参考使用。(1)计算步骤①输入②使用以下改进欧拉法公式进行计算③输出,并使转②直至n>N结束。9.2.6改进欧拉法算法实现(2)改进欧拉法的(3)程序实现(改进欧拉法计算常微分方程初值问题)clearx=0,yn=1%初始化forn=1:10yp=yn+0.1*(yn-2*x/yn);%预测x=x+0.1;yc=yn+0.1*(yp-2*x/yp);%校正yn=(yp+yc)/2%平均(再矫正)end本题的精确解为改进欧拉法的Matlab程序9.3.5四阶龙格—库塔法算法实现(1) 计算步骤①输入②使用龙格—库塔公式(9.20)计算出y1③输出,并使转到②直至n>N结束。(2)四阶龙格—库塔算法流程图程序实现(4阶龙格-库塔法计算常微分方程初值问题)作业习题九P3161、2、5(1)Home
/
本文档为【计算方法 常微分方程初值问题数值解法-Euler公式-龙格-库塔法课件PPT】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索