常微分方程初值问题数值解法.pptx
《常微分方程初值问题数值解法.pptx》由会员分享,可在线阅读,更多相关《常微分方程初值问题数值解法.pptx(162页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、会计学1常微分方程初值问题数值解法常微分方程初值问题数值解法2 定理定理1 1 设 在区域 上连续,关于 满足利普希茨条件,则对任意 ,常微分方程(1.1),(1.2)式当 时存在唯一的连续可微解 .关于解对扰动的敏感性,有以下结论.定理定理2 2 设 在区域 (如定理1所定义)上连续,且关于 满足利普希茨条件,设初值问题的解为 ,则第1页/共161页3 这个定理表明解对初值的敏感性,它与右端函数 有关,当 的Lips.常数 比较小时,解对初值和右端函数相对不敏感,可视为好条件.若 较大则可认为坏条件,即为病态问题.如果右端函数可导,由中值定理有 若假定 在域 内有界,设 ,则第2页/共161
2、页4 求解常微分方程的解析方法只能用来求解一些特殊类型的方程,实际中归结出来的微分方程主要靠数值解法.它表明 满足利普希茨条件,且 的大小反映了右端函数 关于 变化的快慢,刻画了初值问题(1.1)和(1.2)式是否是好条件.第3页/共161页5 所谓数值解法数值解法,就是寻求解 在一系列离散节点 上的近似值 .相邻两个节点的间距 称为步长步长.如不特别说明,总是假定 为定数,这时节点为 .初值问题(1.1),(1.2)的数值解法的基本特点是采取“步进式”.即求解过程顺着节点排列的次序一步一步地向前推进.第4页/共161页6 描述这类算法,只要给出用已知信息 计算 的递推公式.一类是计算 时只用
3、到前一点的值 ,称为单步法单步法.另一类是用到 前面 点的值 ,称为 步法步法.其次,要研究公式的局部截断误差和阶,数值解 与精确解 的误差估计及收敛性,还有递推公式的计算稳定性等问题.首先对方程 离散化,建立求数值解的递推公式.第5页/共161页9.29.2 简单的数值方法简单的数值方法简单的数值方法简单的数值方法 7 9.2.1 欧拉法与后退欧拉法欧拉法与后退欧拉法 积分曲线上一点 的切线斜率等于函数 的值.如果按函数 在 平面上建立一个方向场,那么,积分曲线上每一点的切线方向均与方向场在该点的方向相一致.在 平面上,微分方程 的解 称作它的积分曲线积分曲线.第6页/共161页8 基于上述
4、几何解释,从初始点 出发,先依方向场在该点的方向推进到 上一点 ,然后再从 依方向场的方向推进到 上一点 ,循此前进做出一条折线 (图9-1).图9-1第7页/共161页9 一般地,设已做出该折线的顶点 ,过 依方向场的方向再推进到 ,显然两个顶点 的坐标有关系 即(2.1)这就是著名的欧拉欧拉(Euler)方法方法.欧拉法实际上是对常微分方程中的导数用均差近似,即直接得到的.第8页/共161页10若初值 已知,则依公式(2.1)可逐步算出第9页/共161页11 例例1 1 求解初值问题(2.2)解解 欧拉公式的具体形式为 取步长 ,计算结果见表9-1.初值问题(2.2)的解为 ,按这个解析式
5、子算出的准确值 同近似值 一起列在表9-1中,两者相比较可以看出欧拉方法的精度很差.第10页/共161页12 还可以通过几何直观来考察欧拉方法的精度.假设 ,即顶点 落在积分曲线 上,那么,按欧拉方法做出的折线 便是 过点 的切线(图9-2).第11页/共161页13图9-2 从图形上看,这样定出的顶点 显著地偏离了原来的积分曲线,可见欧拉方法是相当粗糙的.为了分析计算公式的精度,通常可用泰勒展开将 在 处展开,则有 第12页/共161页14在 的前提下,称为此方法的局部截断误差.于是可得欧拉法(2.1)的误差(2.3)(2.4)如果对方程 从 到 积分,得(2.1)第13页/共161页15右
6、端积分用左矩形公式 近似.再以 代替 如果在(2.4)中右端积分用右矩形公式 (2.5)称为后退的欧拉法后退的欧拉法.代替 也得到(2.1),局部截断误差也是(2.3).近似,则得另一个公式 它也可以通过利用均差近似导数 ,即直接得到.第14页/共161页16 欧拉公式是关于 的一个直接的计算公式,这类公式称作是显式的显式的;后退欧拉公式的右端含有未知的 ,它是关于 的一个函数方程,这类公式称作是隐式的隐式的.第15页/共161页17 隐式方程通常用迭代法求解,而迭代过程的实质是逐步显示化.设用欧拉公式 给出迭代初值 ,用它代入(2.5)式的右端,使之转化为显式,直接计算得 然后再用 代入(2
7、.5)式,又有 第16页/共161页18如此反复进行,得(2.6)由于 对 满足利普希茨条件(1.3).由(2.6)减(2.5)得 由此可知,只要 迭代法(2.6)就收敛到解 .从积分公式可以看到后退欧拉方法的公式误差与欧拉法是相似的.第17页/共161页 9.2.2 9.2.2 梯形方法梯形方法梯形方法梯形方法 19 若用梯形求积公式近似等式(2.4)右端的积分并分别用 代替 则可得到比欧拉法精度高的计算公式(2.7)称为梯形方法梯形方法.梯形方法是隐式单步法,可用迭代法求解.(2.4)第18页/共161页20 为了分析迭代过程的收敛性,将(2.7)与(2.8)式相减,得(2.8)同后退的欧
8、拉方法一样,仍用欧拉方法提供迭代初值,则梯形法的迭代公式为(2.7)第19页/共161页21如果选取 充分小,使得 则当 时有 ,这说明迭代过程(2.8)是收敛的.于是有 式中 为 关于 的利普希茨常数.第20页/共161页 9.2.3 9.2.3 改进欧拉公式改进欧拉公式改进欧拉公式改进欧拉公式 22 梯形方法虽然提高了精度,但其算法复杂.在应用迭代公式(2.8)进行实际计算时,每迭代一次,都要重新计算函数 的值.为了控制计算量,通常只迭代一两次就转入下一步的计算,这就简化了算法.具体地,先用欧拉公式求得一个初步的近似值 ,而迭代又要反复进行若干次,计算量很大,而且往往难以预测.称之为预测值
9、预测值,第21页/共161页23 这样建立的预测-校正系统通常称为改进的欧拉公式:改进的欧拉公式:预测值 的精度可能很差,再用梯形公式(2.7)将它校正一次,即按(2.8)式迭代一次得 ,这个结果称校正值校正值.预测校正(2.9)也可以表为下列平均化形式(2.7)(2.8)第22页/共161页24 例例2 2 用改进的欧拉方法求解初值问题(2.2).解解 这里 改进的欧拉公式为(2.2)第23页/共161页25仍取 ,计算结果见表9-2.同例1中欧拉法的计算结果比较,改进欧拉法明显改善了精度.第24页/共161页 9.2.49.2.4 单步法的局部截断误差与阶单步法的局部截断误差与阶单步法的局
10、部截断误差与阶单步法的局部截断误差与阶 26 初值问题(1.1),(1.2)的单步法可用一般形式表示为(2.10)其中多元函数 与 有关,当 含有 时,方法是隐式的,若不含 则为显式方法,(2.11)称为增量函数,所以显式单步法可表示为 例如对欧拉法(2.1)有 它的局部截断误差已由(2.3)给出.(1.1)(1.2)(2.1)(2.3)第25页/共161页27 对一般显式单步法则可如下定义.定义定义1 1 设 是初值问题(1.1),(1.2)的准确解,称(2.12)为显式单步法(2.11)的局部截断误差局部截断误差.之所以称为局部的,是假设在 前各步没有误差.当 时,计算一步,则有(1.1)
11、(1.2)(2.11)第26页/共161页28在前一步精确的情况下用公式(2.11)计算产生的公式误差.根据定义,欧拉法的局部截断误差 即为(2.3)的结果.这里 称为局部截断误差主项.局部截断误差可理解为用方法(2.11)计算一步的误差,即显然(2.11)(2.3)第27页/共161页29 定义定义2 2 设 是初值问题(1.1),(1.2)的准确解,若存在最大整数 使显式单步法(2.11)的局部截断误差满足(2.13)则称方法(2.11)具有 阶精度阶精度.若将(2.13)展开式写成 则 称为局部截断误差主项局部截断误差主项.以上定义对隐式单步法(2.10)也是适用的.(1.1)(1.2)
12、(2.11)(2.10)第28页/共161页30 对后退欧拉法(2.5)其局部截断误差为 这里 ,是1阶方法,局部截断误差主项为 .(2.5)第29页/共161页31 对梯形法(2.7)有 所以梯形方法是二阶的,其局部误差主项为(2.7)第30页/共161页9.39.3 龙格龙格龙格龙格-库塔方法库塔方法库塔方法库塔方法32第31页/共161页 9.3.1 9.3.1 显式龙格显式龙格显式龙格显式龙格-库塔法的一般形式库塔法的一般形式库塔法的一般形式库塔法的一般形式33 上节给出了显式单步法的表达式其局部截断误差为对欧拉法 ,即方法为 阶,(3.1)若用改进欧拉法,它可表为 第32页/共161
13、页34此时增量函数(3.2)与欧拉法的 相比,增加了计算一个右函数 的值,可望 .若要使得到的公式阶数 更大,就必须包含更多的 值.(3.3)从方程 等价的积分形式(2.4),即 第33页/共161页35若要使公式阶数提高,就必须使右端积分的数值求积公式精度提高,必然要增加求积节点.为此可将(3.3)的右端用求积公式表示为点数 越多,精度越高,上式右端相当于增量函数 ,为得到便于计算的显式方法,可类似于改进欧拉法,将公式表示为(3.4)其中(3.3)第34页/共161页36(3.5)这里 均为常数.(3.4)和(3.5)称为 级显式龙格龙格-库塔库塔(Runge-Kutta)法法,简称R-K方
14、法.当 时,就是欧拉法,此时方法的阶为 .当 时,改进欧拉法(3.1),(3.2)也是其中的一种,(3.4)第35页/共161页37 下面将证明阶 .要使公式(3.4),(3.5)具有更高的阶 ,就要增加点数 .下面就 推导R-K方法.(3.4)(3.5)第36页/共161页 9.3.29.3.2 二阶二阶二阶二阶显式显式显式显式R-KR-K方法方法方法方法 38 对 的R-K方法,计算公式如下(3.6)这里 均为待定常数.希望适当选取这些系数,使公式阶数 尽量高.根据局部截断误差定义,(3.6)的局部截断误差为(3.7)第37页/共161页39这里 .为得到 的阶 ,要将上式各项在 处做泰勒
15、展开,由于 是二元函数,故要用到二元泰勒展开,各项展开式为其中(3.8)第38页/共161页40将以上结果代入局部截断误差公式则有 要使公式(3.6)具有 阶,必须使(3.6)第39页/共161页41即 非线性方程组(3.9)的解是不唯一的.令 ,则得 这样得到的公式称为二阶R-K方法,如取 ,则这就是改进欧拉法(3.1).(3.9)第40页/共161页42若取 ,则 得计算公式.称为中点公式中点公式,相当于数值积分的中矩形公式.(3.10)也可表示为(3.10)的R-K公式(3.6)的局部误差不可能提高到 .(3.6)第41页/共161页43 把 多展开一项,从(3.8)的 看到展开式中 的
16、项是不能通过选择参数消掉的.实际上要使 的项为零,需增加3个方程,要确定4个参数 ,这是不可能的.故 的显式R-K方法的阶只能是 ,而不能得到三阶公式.第42页/共161页 9.3.39.3.3 三阶与四阶显式三阶与四阶显式三阶与四阶显式三阶与四阶显式R-KR-K方法方法方法方法 44 要得到三阶显式R-K方法,必须 .(3.11)其中 及 均为待定参数.此时(3.4),(3.5)的公式表示为 公式(3.11)的局部截断误差为(3.4)(3.5)第43页/共161页45只要将 按二元函数泰勒展开,使 ,可得待定参数满足方程(3.12)第44页/共161页46这是8个未知数6个方程的方程组,解也
17、不是唯一的.所以这是一簇公式.满足条件(3.12)的公式(3.11)统称为三阶R-K公式.一个常见的公式为 此公式称为库塔库塔三阶方法.第45页/共161页47 继续上述过程,经过较复杂的数学演算,可以导出各种四阶龙格-库塔公式,下列经典公式是其中常用的一个:可以证明其截断误差为 .四阶龙格-库塔方法的每一步需要计算四次函数值 ,(3.13)第46页/共161页48 例例3 3 设取步长 ,从 到 用四阶龙格-库塔方法求解初值问题 解解 这里 ,经典的四阶龙格-库塔公式为第47页/共161页49 表9-3列出了计算结果,同时了出了相应的精确解.比较例3和例2的计算结果,显然以龙格-库塔方法的精
18、度为高.第48页/共161页50 但由于这里放大了步长 ,所以表9-3和表9-2所耗费的计算量几乎相同.龙格-库塔方法的推导基于泰勒展开方法,因而它要求所求的解具有较好的光滑性质.反之,如果解的光滑性差,那么,使用四阶龙格-库塔方法求得的数值解,其精度可能反而不如改进的欧拉方法.四阶龙格-库塔方法每一步要4次计算函数 ,其计算量比每一步只要2次计算函数 的二阶龙格-库塔方法-改进的欧拉方法大一倍.第49页/共161页 9.3.49.3.4 变步长的龙格变步长的龙格变步长的龙格变步长的龙格-库塔方法库塔方法库塔方法库塔方法 51 单从每一步看,步长越小,截断误差就越小,但随着步长的缩小,在一定求
19、解范围内所要完成的步数就增加了.步数的增加不但引起计算量的增大,而且可能导致舍入误差的严重积累.因此同积分的数值计算一样,微分方程的数值解法也有个选择步长的问题.在选择步长时,需要考虑两个问题:1 怎样衡量和检验计算结果的精度?第50页/共161页52 2 如何依据所获得的精度处理步长?考察经典的四阶龙格-库塔公式(3.13)从节点 出发,先以 为步长求出一个近似值 ,第51页/共161页53(3.14)然后将步长折半,即取 为步长从 跨两步到 ,再求得一个近似值 ,每跨一步的截断误差是 ,因此有(3.15)比较(3.14)式和(3.15)式我们看到,步长折半后,由于公式的局部截断误差为 ,故
20、有 误差大约减少到 ,第52页/共161页54由此易得下列事后估计式 这样,可以通过检查步长,折半前后两次计算结果的偏差 即有来判定所选的步长是否合适.具体地说,将区分以下两种情况处理:第53页/共161页55 1.对于给定的精度 ,如果 ,反复将步长折半进行计算,直至 为止.这时取最终得到的 作为结果;2.如果 ,反复将步长加倍,直到 为止,这种通过加倍或折半处理步长的方法称为变步长方法变步长方法.这时再将步长折半一次,就得到所要的结果.表面上看,为了选择步长,每一步的计算量增加了,但总体考虑往往是合算的.第54页/共161页9.49.4 单步法的收敛性与稳定性单步法的收敛性与稳定性单步法的
21、收敛性与稳定性单步法的收敛性与稳定性 56 9.4.1 收敛性与相容性收敛性与相容性 数值解法的基本思想是通过某种离散化手段将微分方程转化为差分方程,如单步法(2.11),即(4.1)它在 处的解为 ,而初值问题(1.1),(1.2)在 处的精确解为 ,记 称为整体截断误差.(1.1)(1.2)第55页/共161页57 收敛性就是讨论当 固定且 时的问题.定义定义3 3 若一种数值方法对于固定的 ,当 时有 ,其中 是(1.1),(1.2)的准确解,则称该方法是收敛收敛的.显然数值方法收敛是指 .对单步法(4.1)有下述收敛性定理:(1.1)(1.2)(4.1)第56页/共161页58 定理定
22、理3 3 假设单步法(4.1)具有 阶精度,且增量函数 关于 满足利普希茨条件(4.2)又设初值 是准确的,即 ,则其整体截断误差整体截断误差(4.3)证明证明 设以 表示取 用公式(4.1)求得的结果,即(4.4)则 为局部截断误差,(4.1)(4.1)第57页/共161页59由于所给方法具有 阶精度,按定义2,存在定数 ,使又由式(4.4)与(4.1),得 利用假设条件(4.2),有 从而有(4.2)(4.1)(4.4)第58页/共161页60即对整体截断误差 成立下列递推关系式(4.5)反复递推,可得(4.6)再注意到当 时 最终得下列估计式(4.7)第59页/共161页61由此可以断定
23、,如果初值是准确的,即 ,则(4.3)式成立.依据这一定理,判断单步法(4.1)的收敛性,归结为验证增量函数 能否满足利普希茨条件(4.2).对于欧拉方法,由于其增量函数 就是 ,故当 关于 满足利普希茨条件时它是收敛的.再考察改进的欧拉方法,其增量函数给出,这时有(4.3)(4.2)(4.1)第60页/共161页62假设 关于 满足利普希茨条件,记利普希茨常数为 ,设 为定数),上式表明 关于 的利普希茨常数则由上式推得 因此改进的欧拉方法也是收敛的.第61页/共161页63 类似地,也可验证其他龙格-库塔方法的收敛性.定理3表明 时单步法收敛,并且当 是初值问题(1.1),(1.2)的解,
24、(4.1)具有 阶精度时,有展开式 所以 的充要条件是 ,(4.1)(1.1)(1.2)第62页/共161页64而 ,于是可给出如下定义:定义定义4 4 若单步法(4.1)的增量函数 满足 则称单步法(4.1)与初值问题(1.1),(1.2)相容相容.相容性是指数值方法逼近微分方程(1.1),即微分方程(1.1)离散化得到的数值方法当 时可得到第63页/共161页65 定理定理4 4 阶方法(4.1)与初值问题(1.1),(1.2)相容的充分必要条件是 由定理3可知单步法(4.1)收敛的充分必要条件是(4.1)是相容的.以上讨论表明 阶方法(4.1)当 时与(1.1),(1.2)相容,反之相容
25、方法至少是1阶的.第64页/共161页 9.4.2 9.4.2 绝对稳定性与绝对稳定域绝对稳定性与绝对稳定域绝对稳定性与绝对稳定域绝对稳定性与绝对稳定域 66 定义定义5 5 若一种数值方法在节点值 上大小为 的扰动,于以后各节点值 上产生的偏差均不超过 ,则称该方法是稳定稳定的.以欧拉法为例考察计算稳定性.例例4 4 考察初值问题 其准确解 是一个按指数曲线衰减得很快的函数,如图9-3所示.第65页/共161页67若取 ,则欧拉公式的具体形式为 计算结果列于表9-4的第2列.可以看到,欧拉方法的解 (图9-3中用号标出)在准确值 的上下波动,计算过程明显地不稳定.图9-3 用欧拉法解方程 得
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微分方程 初值问题 数值 解法
限制150内