山东大学数值分析课第9章微分方程初值问题的数值解法1课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《山东大学数值分析课第9章微分方程初值问题的数值解法1课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 山东大学 数值 分析 微分方程 初值问题 解法 课件
- 资源描述:
-
1、第九章第九章 微分方程初值问题的数值解法微分方程初值问题的数值解法内容提纲内容提纲 引言引言 Euler法及其改进法及其改进 Runge-Kutta方法方法 线性多步法线性多步法 误差分析误差分析 数值解法的收敛性、相容性和稳定性数值解法的收敛性、相容性和稳定性 边值问题数值解法简介边值问题数值解法简介 引言引言 初值问题的数值解法初值问题的数值解法:求初值问题的解在一系列节点的值求初值问题的解在一系列节点的值 y(xn)的近似值的近似值 yn 的方法的方法.本章数值解法的特点本章数值解法的特点:都是采用都是采用“步步进式进式”,即求解过程顺着节点排列的次序一步步向前推进即求解过程顺着节点排列
2、的次序一步步向前推进.基本知识基本知识:(1)(1)定理定理1:1:如果函数如果函数 f(x,y)在区域在区域 上连续上连续,且关于且关于 y 满足满足Lipschitz条件条件常微分方程初值问题常微分方程初值问题:00(,),()dyfx yxa bdxy xy求未知函数求未知函数 y=y(x).(,)|,Dx yaxb yR121212|(,)(,)|(,),(,),0f x yf x yL yyx yDx yDL 此时此时Lipschitz条件显然成立条件显然成立.故常用故常用 在在D上连续有界来代上连续有界来代替替 f(x,y)关于关于 y 满足满足Lipschitz条件条件.注注:如
3、无特别说明如无特别说明,总假设总假设(1)(1)的解存在唯一且足够光滑的解存在唯一且足够光滑.在在f(x,y)对变量对变量 y 可微的情形下可微的情形下,若偏导数若偏导数 连续有界连续有界,则则可取可取L为为除了要保证除了要保证(1)(1)有唯一解外有唯一解外,还需保证微分方程本身是稳定的还需保证微分方程本身是稳定的,即即(1)(1)的解连续依赖于初始值和函数的解连续依赖于初始值和函数 f(x,y).也就是说也就是说,当初当初始值始值 y0 及函数及函数 f(x,y)有微小变化时有微小变化时,只能引起解的微小变化只能引起解的微小变化.(其中其中L 称为称为LipschitzLipschitz常
4、数常数),),则对任何则对任何 ,初值问题初值问题(1)(1)在在 a,b 上存在唯一连续可微解上存在唯一连续可微解 y=y(x).00(,)xyDfy(,)(,)max|x yDf x yLyfy定理定理2:2:如果函数如果函数 f(x,y)在区域在区域 上关于上关于 y 满足满足Lipschitz条件条件,则则(1)是稳定的是稳定的.(,)|,Dx yaxb yR单步迭代单步迭代:计算计算 yn+1时仅用时仅用 yn;初值问题初值问题(1)与下列积分方程的解等价与下列积分方程的解等价:00()(,()xxy xyf t y tdt初值问题的数值解就是求一系列节点初值问题的数值解就是求一系列
5、节点上函数上函数 y=y(x)的近似值的近似值 .称为称为步长步长.一般取等步长一般取等步长 h.01naxxxb01,nyyy1iiixxx多步迭代多步迭代:计算计算 yn+1时除用时除用 yn 外外,还要用到还要用到 yn 1,yn 2,;k 步迭步迭代要用到代要用到 yn 1,yn 2,yn k+1.显式单步迭代显式单步迭代:1(,)nnnnyyhxyh隐式单步迭代隐式单步迭代:11(,)nnnnnyyhxyyh(2)(2)一、一、EulerEuler方法及其改进方法及其改进 将将 a,b n 等分等分,记记,(0,1,)kbahxakhknn微分法微分法:111100()()()()(
6、)(,)0,1,1()kkkkkkkkkkky xy xy xy xy xxxhyyh f xykny xy积分法积分法:11(1)()()(,()kkxkkxy xy xf t y tdt积分项利用矩形公式计算积分项利用矩形公式计算 11(,()(,)()()(,)kkxkkkkkkxf t y t dth f xyy xy xh f xy1.1.显式显式EulerEuler方法方法()TaylorTaylor公式推导公式推导:2111()()()(),2(,)0,1,1kkkkkkkkkkkhy xy xhy xyxxyyh f xyknEulerEuler公式几何意义公式几何意义:P1P
7、2Pk也称折线法也称折线法 P0 xy2.2.梯形法梯形法 称之为梯形公式称之为梯形公式.这是一个隐式公式这是一个隐式公式,通常用迭代法求解通常用迭代法求解.具体具体做法做法:取取 先用先用EulerEuler法求出初值法求出初值 ,即即 ,将其代将其代入梯形公式的右端入梯形公式的右端,使之转化为显式公式使之转化为显式公式,即即 注注:当当 f(x,y)关于关于y满足满足Lipschitz条件且步长条件且步长h 满足满足 直至满足直至满足:若采用梯形公式计算若采用梯形公式计算()中的积分项中的积分项,则有则有111111()()(,()(,()2(,)(,)2kkkkkkkkkkkkhy xy
8、 xf xy xf xy xhyyf xyf xy(0)1ky(0)1(,)kkkkyyh f xy(1)()111(,)(,)2llkkkkkkhyyf xyf xy(1)()11|llkkyy(1)11lkkyy类似地类似地,可得可得23,kkyy()112h L 时时,迭代格式迭代格式()收敛收敛.3.3.改进的改进的EulerEuler方法方法 把把EulerEuler法作为预报法作为预报(称为预估公式称为预估公式),),把隐式的梯形公式作为校把隐式的梯形公式作为校正正(称为校正公式称为校正公式),),则得改进的则得改进的EulerEuler方法方法:1111(,)(,)(,)2kkk
9、kkkkkkkyyh f xyhyyf xyf xy或或11(,)(,(,)2kkkkkkkkhyyf xyf xyh f xy也称为预估也称为预估-校正法校正法.有时为了方便有时为了方便,预估预估-校正格式也写成下面形式校正格式也写成下面形式:11122121(,)(,)kkkkkkyyKKKh fxyKh fxh yhK二、单步法的局部截断误差及精度二、单步法的局部截断误差及精度 Def 1:先假设先假设 ,再估计误差再估计误差这种误差称为单步迭代法在这种误差称为单步迭代法在 xk+1处的局部截断误差处的局部截断误差.()kky xy,1()()(,(),)k hkkkkRy xy xhx
10、y xhDef 2:若某种数值方法的局部截断误差为若某种数值方法的局部截断误差为 ,则称该数则称该数值方法的精度为值方法的精度为P 阶的阶的.1()pO h注注:通常情况下通常情况下,P 越大越大,h 越小越小,则截断误差越小则截断误差越小,数值方法越数值方法越精确精确.设设 1 10 0.Euler.Euler方法是一阶方法方法是一阶方法.()kkyy x所以所以EulerEuler方法为一阶方法方法为一阶方法.而而 211211()()()(),2()()(,()()kkkkkkkkkkky xy xh yxh yxxy xy xh fxy xO h122,11(,),()()()2kkk
11、kk hkkkyyh fxyhRy xyyO h2 20 0.梯形法是二阶方法梯形法是二阶方法.2312311123111()()()()()2()()()()()22()()()()()()()2kkkkkkkkkkkkkkhy xy xhy xyxO hhy xy xhy xyxO hhy xy xh y xy xyxyxO hTaylorTaylor展开展开 将将 代入上式代入上式,得得 1()()()kkyxyxO h311()()()()()2kkkkhy xy xy xy xO h11131131111()()()()2(,)(,)()2(,()(,)()2kkkkkkkkkkkk
12、kkhy xyy xy xy xyhf xyf xyO hhf xy xf xyO h11111(,)11(,()(,)|()kkkkkxkkff xy xf xyy xyy而而代入上式得代入上式得:13(,)11(1|)()()2kxkkhfy xyO hy当当h充分小时充分小时,若若 ,则可选取则可选取 h,使得使得|1fLy故梯形法的精度为故梯形法的精度为2.同样可以证明同样可以证明改进的改进的EulerEuler法也是二阶方法法也是二阶方法.梯形法的梯形法的局部截断误差局部截断误差为为:3,111()(),12k hkkkkkkhRy xyfxx 1(,)|12kxhfy从而从而111
13、(,)(,)33,11(,)11|21|2()(1|)()()2kkkxxk hkkxhfhfyyhfRy xyO hO hy例例1:1)0(20,2yxxyydxdy取步长取步长 h=2/10,2/20,2/30,2/40,分别用欧拉法、改进的欧拉法分别用欧拉法、改进的欧拉法和梯形法求解和梯形法求解.解解:记记 f(x,y)=y x y2,xk=k h (k=0,1,2,n)(1).Euler法法:yk+1=yk+h(yk xk yk2)(k=0,1,n)y0=1当当 h=2/10时时,n=10.由由Euler公式可得公式可得:k01234yk+11.21.38241.5061.53504
14、1.46503k56789yk+11.32877 1.17077 1.02113 0.89169 0.783788(2).改进的改进的Euler法法:2212210()()2(),0,1,1kkkkkkkkkkkkkkhyyyx yyh yx yxyh yx yknyk01234yk+11.19121.343841.423481.419051.3473k56789yk+11.237261.114240.994151 0.884751 0.788666(3).梯形法梯形法(计算过程略计算过程略)221111(),0,1,2kkkkkkkkhyyyx yyxykn(1)2()()21111()()
15、,0,1,2,2lllkkkkkkkkhyyyx yyxyl n 10 20 30 40 h 0.2 0.1 0.0667 0.05误差误差 0.1059 0.0521 0.0342 0.0256Euler法误差法误差:改进的改进的Euler法误差法误差:n 10 20 30 40 h 0.2 0.1 0.0667 0.05误差误差 0.0123 0.0026 0.0011 5.9612e-004-101234500.511.5预预-校方法校方法,h=0.2时时误差最大值误差最大值:0.0123-101234500.511.52欧拉方法欧拉方法,h=0.2时时误差最大值误差最大值:0.1059
16、xexxy 211)(解析解解析解:三、三、Runge-Kutta 方法方法1 1、Taylor 级数级数法法 设初值问题设初值问题 有解有解 y(x),由由Tayler公式得公式得:00(,),(),yf x yy xyaxb2()11()()()()()()2!pppkkkkkhhy xy xhy xyxyxO hp令令当当 时时,有有 .此时此时为为 p 阶阶Taylor方法方法.p=1时即为时即为Euler公式公式.称之为称之为Taylor级数法级数法.其中其中例例2:取步长取步长 h=0.1,用一阶、二阶和四阶用一阶、二阶和四阶Taylor方法求解下列方法求解下列初值问题初值问题2(
17、)12!ppkkkkkhhyyh yyyp()()(),0,1,2,iikkyyxip()()()iikkyyx111()()pkky xyO h解解:(1)一阶一阶Taylor法法21,0.2(0)1yyxy210.1kkkyyyk01234yk+11.11.2211.37008 1.55779 1.80046(2)二阶二阶Taylor法法232231()220.10.122!kkkkyyyyyyyyyk01234yk+11.111.24689 1.42175 1.65263 1.97088(3)四阶四阶Taylor法法324(4)3523423451(2)6624240.10.10.10.
18、126242!3!4!kkkkkkyyy yyyy yyyyyyyyk01234yk+11.11111.24996 1.42848 1.66644 1.99942记记由由得得称为称为xk,xk+1上的平均斜率上的平均斜率.故故2 2、Runge-Kutta方法方法11()()()()kkkky xy xyxxh1()()()()(,()kkky xy xhyy xh fy*(,()Kfy只要对只要对K*提供不同的算法提供不同的算法,就会得出不同的计算公式就会得出不同的计算公式.如取如取则得改进的则得改进的Euler公式公式,它是利用它是利用xk,xk+1两点的斜率值两点的斜率值K1,K2 的的
19、算术平均值作为算术平均值作为K*,精度比精度比Euler法高法高.则得则得Euler公式公式;取取*1()()kky xy xhK*(,)kkKf xy*1212111(),(,),(,)2kkkkKKKKf xyKf xyhKRunge-Kutta法的法的基本思想基本思想:设法在设法在xk,xk+1内多预报几个点的斜率内多预报几个点的斜率,再将它们的加权平再将它们的加权平均值作为平均斜率均值作为平均斜率K*一般显式一般显式Runge-Kutta公式公式为为:1111(,1,2,rkkiiiiikiki jjjyyhc kkf xh yhkir其中其中 为待定参数为待定参数,且且 .称为称为r
20、 级级Runge-Kutta方方法计算公式法计算公式.,iii jc 10注注:式中待定参数的确定式中待定参数的确定:先将先将式右端在式右端在(xk,yk)处展成处展成h的幂的幂级数级数(即将即将 yk+1 展成展成 h 的幂级数的幂级数);再将再将 y(xk+1)作作Taylor 级数展开级数展开;最后比较两式中最后比较两式中hk(k=0,1,2,)的系数的系数,以确定出所有待定参数以确定出所有待定参数.即可得即可得 p 个方程个方程,从而确定出待定参数从而确定出待定参数.代入表达式即可得到计代入表达式即可得到计算公式算公式.如果要求两个表达式的前如果要求两个表达式的前p+1项完全重合项完全
展开阅读全文