(整理)常微分方程解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章常微分方程数值解
[课时安排]6学时
[教学课型]理论课
[教学目的和要求]
了解常微分方程初值问题数值解法的一些基本概念,如单步法和多步法,显式和隐式,方法的阶数,整体截断误差和局部截断误差的区别和关系等;掌握一阶常微分方程初值问题的一些常用的数值计算方法,例如欧拉(Euler)方法、改进的欧拉方法、龙贝-库塔(Runge-Kutta)方法、阿达姆斯(Adams)方法等,要注意各方法的特点及有关的理论分析;掌握构造常微分方程数值解的数值积分的构造方法和泰勒展开的构造方法的基本思想,并能具体应用它们导出一些常用的数值计算公式及评估截断误差;熟练掌握龙格-库塔(R-K)方法的基本思想,公式的推导,R-K公式中系数的确定,特别是能应用“标准四阶R-K公式”解题;掌握数值方法的收敛性和稳定性的概念,并能确定给定方法的绝对稳定性区域。
[教学重点与难点]
重点:欧拉方法,改进的欧拉方法,龙贝-库塔方法。
难点:R—K方法,预估-校正公式。
[教学内容与过程]
4.1 引言
本章讨论常微分方程初值问题
(4.1.1)
的数值解法,这也是科学与工程计算经常遇到的问题,由于只有很特殊的方程能用解析方法求解,而用计算机求解常微分方程的初值问题都要采用数值方法.通常我们假定(4.1.1)中
f(x,y)对y满足Lipschitz条件,即存在常数L>0,使对,有
(4.1.2) 则初值问题(4.1.1)的解存在唯一.
假定(4.1.1)的精确解为,求它的数值解就是要在区间上的一组离散点
上求的近似.通常取
,h称为步长,求(4.1.1)的数值解是按节点的顺序逐步
推进求得.首先,要对方程做离散逼近,求出数值解的公式,再研究公式的局部截断误差,计算稳定性以及数值解的收敛性与整体误差等问题.
4.2 简单的单步法及基本概念
4.2.1 Euler法、后退Euler法与梯形法
求初值问题(4.1.1)的一种最简单方法是将节点的导数用差商
代替,于是(4.1.1)的方程可近似写成
(4.2.1)
从出发,由(4.2.1)求得再将
代入(4.2.1)右端,得到的近似,一般写成
(4.2.2) 称为解初值问题的Euler法.
Euler法的几何意义如图4-1所示.初值问题(4.1.1)的解曲线y=y(x)过点,从出发,以为斜率作一段直线,与直线交点于,显然有
,再从出发,以为斜率作直线推进到上一点,其余类推,这样得到解曲线的一条近似曲线,它就是折线.
Euler法也可利用的Taylor展开式得到,由
(4.2.3) 略去余项,以,就得到近似计算公式(4.2.2).
另外,还可对(4.1.1)的方程两端由到积分得
(4.2.4)
若右端积分用左矩形公式,用,,则得(4.2.2).
如果在(4.2.4)的积分中用右矩形公式,则得
(4.2.5)
称为后退(隐式)Euler法.若在(4.2.4)的积分中用梯形公式,则得
(4.2.6)
称为梯形方法.
上述三个公式(4.2.2),(4.2.5)及(4.2.6)都是由计算,这种只用前一步即可算出的公式称为单步法,其中(4.2.2)可由逐次求出的值,称为显式方法,而(4.2.5)及(4.2.6)右端含有当f对y非线性时它不能直接求出,此时应把它看作一个方程,求解,这类方法称为稳式方法.此时可将(4.2.5)或(4.2.6)写成不动点形式的方程
这里对式(4.2.5)有,对(4.2.6)则,g与
无关,可构造迭代法
(4.2.7)
由于对y满足条件(4.1.2),故有
当或,迭代法(4.2.4)收敛到,因此只要步长h足够小,就可保证迭代(4.2.4)收敛.对后退Euler法(4.2.5),当时迭代收敛,对梯形法(4.2.6),当
时迭代序列收敛.
例4.1用Euler法、隐式Euler法、梯形法解
取h=0.1,计算到x=0.5,并与精确解比较.
解本题可直接用给出公式计算.由于,Euler法的计算公式为
n=0时,.其余n=1,2,3,4的计算结果见表4-1.
对隐式Euler法,计算公式为
解出
当n=0时,.其余n=1,2,3,4的计算结果见表4-1.
表4-1 例4.1的三种方法及精确解的计算结果
对梯形法,计算公式为
解得
当n=0时,.其余n=1,2,3,4的计算结果见表4-1.
本题的精确解为,表4-1列出三种方法及精确解的计算结果.
4.2.2 单步法的局部截断误差
解初值问题(4.1.1)的单步法可表示为
(4.2.8)
其中与有关,称为增量函数,当含有时,是隐式单步法,如(4.2.5)及(4.2.6)均为隐式单步法,而当不含时,则为显式单步法,它表示为
(4.2.9)
如Euler法(4.2.2),.为讨论方便,我们只对显式单步法(4.2.9)给出局部截断误差概念.
定义2.1设y(x)是初值问题(4.1.1)的精确解,记
(4.2.10)
称为显式单步法(4.2.9)在的局部截断误差.
之所以称为局部截断误差,可理解为用公式(4.2.9)计算时,前面各步都没有误差,即,只考虑由计算到这一步的误差,此时由(4.2.10)有
局部截断误差(4.2.10)实际上是将精确解代入(4.2.9)产生的公式误差,利用Taylor展开式可得到.例如对Euler法(4.2.2)有,故
它表明Euler法(4.2.2)的局部截断误差为,称
为局部截断误差主项.
定义2.2 设是初值问题(4.1.1)的精确解,若显式单步法(4.2.9)的局部截断误差
,是展开式的最大整数,称为单步法(4.2.9)的阶,含的项称为局部截断误差主项.
根据定义,Euler法(4.2.2)中的=1故此方法为一阶方法.
对隐式单步法(4.2.8)也可类似求其局部截断误差和阶,如对后退Euler法(4.2.5)有局部截断误差
故此方法的局部截断误差主项为,也是一阶方法.对梯形法(4.2.6)
同样有