常微分方程初值问题的数值解法 .ppt
《常微分方程初值问题的数值解法 .ppt》由会员分享,可在线阅读,更多相关《常微分方程初值问题的数值解法 .ppt(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、现在学习的是第1页,共62页 实际问题中遇到的微分方程通常很复杂,多数情况实际问题中遇到的微分方程通常很复杂,多数情况下无法求出解的解析表达式,即使求出解,也常常由于下无法求出解的解析表达式,即使求出解,也常常由于计算量太大而不实用。然而实际问题本身又往往只要求计算量太大而不实用。然而实际问题本身又往往只要求给出其解在一系列点上的近似值,这就要依靠数值解法给出其解在一系列点上的近似值,这就要依靠数值解法。其中其中 称为李氏常数。从而保证上面的初值称为李氏常数。从而保证上面的初值问题的解问题的解 存在并且唯一。存在并且唯一。yy xL 所谓数值解法,就是对于解所谓数值解法,就是对于解 存在的区存
2、在的区间上一系列的点间上一系列的点 ,不妨假定,不妨假定 nx y x现在学习的是第2页,共62页012Nxxxx 上面给定的初值问题的数值解法有个基本特点,上面给定的初值问题的数值解法有个基本特点,称作称作“步进式步进式”,即求解的过程是按照节点的排列次,即求解的过程是按照节点的排列次序序 一一 步步 步步 地地 向向 前前 推推 进。描述这类算法进。描述这类算法,只须在,只须在 已知的前提下已知的前提下 给出计算给出计算 的递推公式的递推公式。01,nyyy1ny逐个求出逐个求出 的近似值的近似值 。称。称 为给定的微分方程初为给定的微分方程初值问题的数值解。相邻两个节点的间距值问题的数值
3、解。相邻两个节点的间距 称称为步长。一般我们总假定为步长。一般我们总假定 ,即节点间是等距的。,即节点间是等距的。()ny xnyny1nnnhxxnhh现在学习的是第3页,共62页其中其中 为为 的已知函数,的已知函数,是给定的常数,求是给定的常数,求(1.1)、(1.2)的数值解。的数值解。(,)f x y,x y0y 一、一、方法方法 Euler(一)、(一)、方法方法 Euler给定初值问题给定初值问题 00(,)()yf x yy xy(1.1)(1.2)方法是解初值问题(方法是解初值问题(1.1)、)、(1.2)最简单的最简单的数值解法。由于它的精确度不高,数值解法。由于它的精确度
4、不高,实际计算中已不实际计算中已不被采用,然而它在某种程度上却反映了数值解法的被采用,然而它在某种程度上却反映了数值解法的基本思想。基本思想。Euler现在学习的是第4页,共62页 这种方法是借助于几何直观得到的。由于表示这种方法是借助于几何直观得到的。由于表示解的曲线解的曲线 通过点通过点 ,并且在该点处以,并且在该点处以 为切线斜率,于是设想在为切线斜率,于是设想在 附近,曲线附近,曲线可以用该点处的切线近似代替,切线方程为可以用该点处的切线近似代替,切线方程为00(,)xy00(,)f xy0 xx yy x0000(,)()yyf xyxx现在学习的是第5页,共62页x00,xy11,
5、x y11,x y x0 x1x2xy0图6.1现在学习的是第6页,共62页也就是说,也就是说,时,时,可用可用 近近似代替,记这个值为似代替,记这个值为 ,即,即1xx1()yy x000(,)yf xy h1y1000(,)yyhf xy于是给出了一种当于是给出了一种当 时,获得函数值时,获得函数值 的近似的近似值值 的方法。重复上面的作法,在的方法。重复上面的作法,在 处,就可处,就可以得到以得到 的近似值的近似值1xx1()y x1y2xx2()y x2111(,)yyhf x y现在学习的是第7页,共62页1(,)nnnnyyhf xy依此下去,当依此下去,当 已经得到,则已经得到,
6、则 ny这就是著名的这就是著名的 方法的计算格式。方法的计算格式。EulerEulerEuler 由于由于 方法是用一条折线近似地代替曲方法是用一条折线近似地代替曲线线 ,所以,所以 方法也叫方法也叫 折线法。折线法。Euler y xEuler1nyny 一种计算格式,当在计算一种计算格式,当在计算 时,仅仅用到它时,仅仅用到它前一步的信息前一步的信息 ,称它为单步法。可见,称它为单步法。可见 方法就是单步法。方法就是单步法。现在学习的是第8页,共62页将方程将方程(1.1)在区间在区间 上求积分,便得到上求积分,便得到 01,x x (1.4)式中右端的积分,可以用数值积分法计算它的近式中
7、右端的积分,可以用数值积分法计算它的近似值。例如,使用左矩形公式则有似值。例如,使用左矩形公式则有 1000()(,)y xyhf xy(二)改进的(二)改进的 方法方法 Euler1010()()(,()xxy xy xf x y x dx(1.4)上式右端就是用上式右端就是用 方法得到的方法得到的 ,即,即 1yEuler现在学习的是第9页,共62页1000(,)yyhf xy一般地有一般地有1(,)nnnnyyhf xy这就是这就是 公式公式(1.3)。Euler 由此可见,由此可见,方法也可以看成用矩形公式近似方法也可以看成用矩形公式近似计算某个相应的定积分而得到的。因此可以说,计算某
8、个相应的定积分而得到的。因此可以说,方法之所以精确度不高,正是由于它在计算定积分时方法之所以精确度不高,正是由于它在计算定积分时,采用矩形公式的缘故。,采用矩形公式的缘故。EulerEuler 倘若使用较为精确的梯形公式来计算倘若使用较为精确的梯形公式来计算(1.4)式中右端的积式中右端的积分,即分,即现在学习的是第10页,共62页将它代入将它代入(1.4)式的右端,便得到式的右端,便得到 的近似值的近似值 ,1()y x1y100011(,)()2hyyf xyf xy用同样的方法可以得到用同样的方法可以得到 。一般地有,。一般地有,23,yy 100011(,()(,)(,()2xxhf
9、x y x dxf xyf x y x0011(,)(,)2hf xyf x y111(,)(,)2nnnnnnhyyf xyf xy(1.5)现在学习的是第11页,共62页1ny1ny1ny1ny 这就是改进的这就是改进的 Euler 方法的计算格式。值得注方法的计算格式。值得注意的是,意的是,Euler 方法与改进的方法与改进的 Euler方法在计算上有方法在计算上有一个明显的区别,一个明显的区别,Euler方法中方法中 是由已知的或是由已知的或已经算出的量来表达的,得到它不需要解方程,这已经算出的量来表达的,得到它不需要解方程,这类方法通常称为显示方法;而在改进的类方法通常称为显示方法;
10、而在改进的 Euler方法中,未知数方法中,未知数 也隐含在方程右端之中,对也隐含在方程右端之中,对于每一个于每一个 的值都需要通过解方程才能得到,这的值都需要通过解方程才能得到,这类方法通常称为隐式格式。在多数情况下,要从隐类方法通常称为隐式格式。在多数情况下,要从隐式格式式格式(1.5)中解出中解出 是很困难的。因此,通常采是很困难的。因此,通常采用如下的迭代方法来求解。即先用用如下的迭代方法来求解。即先用 Euler 方法算出方法算出一个结果,作为一个结果,作为(1.5)式的初值,进行迭代,其计算式的初值,进行迭代,其计算格式为格式为 现在学习的是第12页,共62页(0)1(1)()11
11、1(,)(,)(,)2(0,1,2)nnnnkknnnnnnyyhf xyhyyf xyf xyk(1.6)(1)()()(1)111111(,)(,)2kkkknnnnnnhyyf xyf xy由由()(1)112kknnhL yy 可知,当可知,当 时,迭代格式收敛。也就是说,时,迭代格式收敛。也就是说,只要只要 取得充分小,就可能保证迭代序列取得充分小,就可能保证迭代序列 12hL h现在学习的是第13页,共62页(0)(1)()111,knnnyyy收敛,而且收敛,而且 越小,收敛得越快。越小,收敛得越快。h 容易看出,改进的容易看出,改进的 方法虽然提高了精度方法虽然提高了精度,然而
12、每一步的计算量却增加很大,每迭代一次,然而每一步的计算量却增加很大,每迭代一次,都要重新计算函数值,而且迭代需要反复进行,都要重新计算函数值,而且迭代需要反复进行若干次。为了简化算法,通常只迭代一次。具体若干次。为了简化算法,通常只迭代一次。具体地讲,先用地讲,先用 方法求得一个初步的近似值方法求得一个初步的近似值 ,称为预估值,再将它代入称为预估值,再将它代入(1.5)式中作一次校正式中作一次校正,这样处理后,计算格式为,这样处理后,计算格式为1nyEulerEuler1111(,)(,)(,)2nnnnnnnnnnyyhf x yhyyf x yf xy(1.7)现在学习的是第14页,共6
13、2页 称它为预估校正格式。可用其中的第一式算出称它为预估校正格式。可用其中的第一式算出一个预估值,再代入第二式做校正。一个预估值,再代入第二式做校正。2,01(0)1dyxyxdxyy 例例1 用用 方法和预估校正法求解初值问题方法和预估校正法求解初值问题 Euler取步长取步长 。0.1h 解解 分别使用分别使用 格式与预估校正格式计算,格式与预估校正格式计算,格式的具体形式为格式的具体形式为Euler现在学习的是第15页,共62页计算结果见下表。计算结果见下表。预估校正格式预估校正格式 12()nnnnnxyyh yy111122()()2nnnnnnnnxxhyyyyyy12()nnnn
14、nxyyh yyEuler格式现在学习的是第16页,共62页1.73211.73791.78481.01.41421.41641.43510.51.67331.67821.71780.91.34161.34341.35820.41.61251.61531.64980.81.26491.26621.27740.31.54921.55251.58030.71.18321.18411.19180.21.48321.48601.50900.61.09541.09591.10000.1准确解准确解预校方法预校方法 方方法法准确解准确解预校方法预校方法 方方法法nxnynynynynx()ny x()ny
15、 xEulerEuler 上面给出的初值问题有解析解上面给出的初值问题有解析解 ,按该,按该式算出的准确值式算出的准确值 与近似值一起列在上表中,通与近似值一起列在上表中,通过比较可以看出过比较可以看出 方法的精度是较低的。方法的精度是较低的。12yx()ny xEuler现在学习的是第17页,共62页二、二、展开法与截断误差展开法与截断误差 Taylor 利用利用 展开法可以得到初值问题展开法可以得到初值问题 的的任意高精度的计算格式。任意高精度的计算格式。Taylor(1.1),(1.2)1()()nny xy xh 设初值问题设初值问题 有解有解 ,且,且 ,足够光滑,则足够光滑,则(1
16、.1),(1.2)()y x()y x(,)f x y 在点在点 处的处的nxTaylor展开式为展开式为 展开法展开法 Taylor(一)现在学习的是第18页,共62页2()()()()2!nnnnhy xhy xhy xyx()1()()!mmmnhyxO hm(2.1)其中其中 11(1)1()(),(1)!mmmnnhO hyxxm值问题值问题 中的函中的函由于由于 足够光滑,则当足够光滑,则当 时,时,1()0mo h()y x0h 式中式中 的各阶导数可由初的各阶导数可由初(2.1)()y x(1.1)数数 来表达,即来表达,即(,)f x y现在学习的是第19页,共62页yf f
17、fffyyfxyxy2222fffffyffxx yyxy 我们在我们在 式右端截取式右端截取 项,即舍去余项项,即舍去余项 ,则算得,则算得 的近似值的近似值 ,即,即1()mo h()ny xh1ny(2.1)1m2()12!mmnnnnnhhyyhyyym(2.2)此式称为此式称为 阶的阶的 公式。公式。mTaylor现在学习的是第20页,共62页(二)局部截断误差及其(二)局部截断误差及其“阶阶”0h 1()mo h 这个截断误差被称为是这个截断误差被称为是 阶的,即当阶的,即当 时,时,是关于是关于 的的 阶无穷小量。阶无穷小量。1m1mh 在考察计算公式的精度时,我们常常假定第在考
18、察计算公式的精度时,我们常常假定第 步的步的结果是精确的,即结果是精确的,即 ,在这一前提下,来估计第,在这一前提下,来估计第 步计算结果的误差,即步计算结果的误差,即 ,这一误差称为局部截,这一误差称为局部截断误差。例如,断误差。例如,阶的阶的 公式公式 的第的第 步的局步的局部截断误差为部截断误差为()nnyy x11()nny xy1n1n2.2mTaylorn111()()mnny xyo h(2.3)现在学习的是第21页,共62页1(,)nnnnnnyyhyyhf xy定义定义1 如果一种方法的局部截断误差是如果一种方法的局部截断误差是 阶的,则称该方法是阶的,则称该方法是 阶的。阶
19、的。1m m 由定义由定义1,阶阶 公式公式 是是 阶方法阶方法,当,当 时,时,式变为式变为 1m mm2.2Taylor2.2 这正是这正是 格式,故知格式,故知 格式是一阶方格式是一阶方法,其局部截断误差为法,其局部截断误差为 ,即为二阶的。,即为二阶的。2()o hEulerEuler现在学习的是第22页,共62页111(,)(,)2nnnnnnhyyf xyf xy例例2 证明改进的证明改进的 格式格式 Euler是是2阶方法。阶方法。n 对于方法的对于方法的“阶阶”和局部截断误差的和局部截断误差的“阶阶”,我们可以这样来理解:如果我们可以这样来理解:如果 式的局部截断误式的局部截断
20、误差是差是 阶的,这说明公式的前阶的,这说明公式的前 步的计算结果步的计算结果都是精都是精 确的,即确的,即 式右端关于式右端关于 次的次的 多多项式与左端的项式与左端的 在在 处的处的 级数的次数级数的次数不超过不超过 的项,完全重合,而两端超过的项,完全重合,而两端超过 次的项次的项不重合。因此,我们称此方法为不重合。因此,我们称此方法为 阶的。阶的。Taylor2.21m2.2mTaylor()ny xhnxmmm现在学习的是第23页,共62页()()()()2.42nnnnnhy xhy xy xy xhR23()()()()()26nnnnnhhy xhy xhy xyxyx 将左端
21、的将左端的 与右端的与右端的 在在 处处作作 展开,有展开,有()ny xh()ny xhnxTaylor y x1.11.2()(,)nnny xf xy 证明证明 设设 是初值问题是初值问题 、的精的精确解,即有确解,即有 ,由改进,由改进 的的 格式有格式有Euler2()()()()2nnnnhy xhy xhyxyx现在学习的是第24页,共62页23()()()()26nnnnhhy xhy xyxyx 将它们代入将它们代入 式,并将右端稍加整理,有式,并将右端稍加整理,有 2.4 可见,该式两端的前三项,即可见,该式两端的前三项,即 的次数不超的次数不超过过 的项完全重合,而从的项
22、完全重合,而从 的的 次方的项开始就不次方的项开始就不重合了。于是,由定义重合了。于是,由定义 可知,改进的可知,改进的 格式格式是是 阶方法,而其局部截断误差阶方法,而其局部截断误差 3()nRo h是是阶的。阶的。2m 33h21Eulerh23()()()()24nnnnhhy xhy xyxyx 现在学习的是第25页,共62页解解 直接求导数,有直接求导数,有 2xyyy 例例 用用 展开法求解例展开法求解例 中的初值问中的初值问题。题。Taylor3122()yyyxyy22324(2)xyyyxyyyy3(4)23421212(3)()yxyyyxyyxyyyyy现在学习的是第26
23、页,共62页1.26941.26490.31.18321.18320.21.09541.09540.1nxny()ny x 用用 阶阶 公式,取步长公式,取步长 ,部分计算,部分计算结果列于表结果列于表 中。中。Taylor40.1h 6.2 表中表中 表示准确值,与表示准确值,与 比较,可见比较,可见用用 阶阶 公式得到的数值解是令人非常满意公式得到的数值解是令人非常满意的。的。Taylor4ny xny现在学习的是第27页,共62页 三、三、方法方法 RungeKutta 方法(简称方法(简称 方法)是一种方法)是一种构造高精度计算公式的方法。前面我们看到,用构造高精度计算公式的方法。前面
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 常微分方程初值问题的数值解法 微分方程 初值问题 数值 解法
限制150内