当前位置:文档之家› 微分方程的边值问题

微分方程的边值问题

微分方程边值问题的数值方法 本部分内容只介绍二阶常微分方程两点边值问题的的打靶法和差分法。 二阶常微分方程为 (,,),yfxyyaxb (1.1)

当(,,)fxyy关于,yy为线性时,即(,,)()()()fxyypxyqxyrx,此时(1.1)变成线性微分方程 ()()(),ypxyqxyrxaxb (1.2)

对于方程(1.1)或(1.2),其边界条件有以下3类: 第一类边界条件为 (),()yayb (1.3)

当0或者0时称为齐次的,否则称为非齐次的。 第二类边界条件为 (),()yayb (1.4)

当0或者0时称为齐次的,否则称为非齐次的。 第三类边界条件为 0101()(),()()yayaybyb (1.5)

其中00000,0,0,当10或者10称为齐次的,否则称为非齐次的。微分方程(1.1)或者(1.2)附加上第一类,第二类,第三类边界条件,分别称为第一,第二,第三边值问题。 1 打靶法介绍

下面以非线性方程的第一类边值问题(1.1)、(1.3)为例讨论打靶法,其基本原理是将边值问题转化为相应的初值问题求解。 【原理】假定()yat,这里t为解()yx在xa处的斜率,于是初值问题为 (,,)()()yfxyyyayat





(1.6)

令zy,上述二阶方程转化为一阶方程组 (,,)()()yzzfxyzyazat





(1.7)

原问题转化为求合适的t,使上述初值问题的解(,)yxt在xb的值满足右端边界条件 (,)ybt (1.8)

这样初值问题(1.7)的解(,)yxt就是边值问题(1.1)、(1.3)的解。而对给定的t,求(1.7)的初值问题可以用欧拉方法、龙格-库塔方法等初值问题的数值解法求解。 理论上(,)yxt是隐含t的连续函数,如果(,)yxt已知,要使得(1.8)成立,可以通过求非线性方程(1.8)的零点来得到合适的t,这可用任何方程求根的方法,例如牛顿法、或者其它迭代法。 实际上,(,)yxt是很难找到的,因此必须寻找满意的离散解数值解。 下面叙述打靶法的计算过程:(这里为允许误差,t的修改使用线性插值方法) Step 1:先设0tt,求解初值问题(1.7),得到00(,)ybt; 若0||,则0(,)(0,1,,)jyxtjn为问题(1.7)的满意的离散解,结束; Step2: 若0||时,令1tt,求解初值问题(1.7),得到11(,)ybt; 若1||,则1(,)(0,1,,)jyxtjn为问题(1.7)的满意的离散解,结束; 否则转Step3; Step3:由线性插值得到一般计算公式

1(,)11(,)(,)(),1,2,kkkybtkkkkybtybtttttk

 (1.9)

Step4: 令1ktt,求解初值问题(1.7),得到11(,)kkybt; 若1||k,则1(,)(0,1,)jkyxtjn为问题(1.7)的满意的离散解,结束; 否则转Step3。 这个过程好比打靶,kt为子弹发射率,()yb为靶心,当||k时则得到解,故称打靶法。

【例1】用打靶法求解非线性两点边值问题 3353

4216(2)8,23(3)yyyxyxy



要求误差60.510。精确解为 28()xyxx。 【解】:首先将原问题化成初值问题

3424(2)8(2)yzxkyzzyzt





对每个kt,使用4阶RK方法求解上述问题,即利用公式

112346(22)hnnyykkkk 其中 112122(,),(,)hnnnnkftykfthyk, 1324322(,),(,)hnnnnkfthykkfthyhk

计算,取步长为 h=0.02。 Step1 选择01.5t,求得0(3,)11.4889yt,3503|(3,)|0.1777yt; Step2 选择12.5t,求得1(3,)11.8421yt,3513|(3,)|0.0755yt; Step3 根据01,tt以及0(3,)11.4889yt和1(3,)11.8421yt,利用公式(1.9),计算得到110

(3,)35/32110(3,)(3,)()2.0032251ytytyttttt



Step4 对2t,利用RK方法求解,计算得到2(3,)11.6678yt,3523|(3,)|yt,转Step3。重复Step3和Step4,可求得 331.999979,(3,)11.66659tyt;

442.000000,(3,)11.66666667tyt,

满足要求,此时解4(,)(0,1,,)jyxtjm即为所求。

对于第二类、第三类边值问题也可以作类似处理。例如,对第二类边值问题,它可以转化为以下边值问题 (,,)()()()kyzzfxyzyatzaya





解此初值问题得到 (,)kybt及(,)(,)kkzbtybt,若|(,)|kzbt,则(,)jkyxt为边值问题的解。

2 差分方法介绍 差分方法是解边值问题的一种基本方法,它利用差商代替导数,将微分方程离散化为非线性或线性方程组(即差分方程)求解。下面考虑边值问题 (,),()()yfxyaxbyayb





(2.1)

将[a,b]作N+1等分,分点为1,0,1,,1,baiNxaihiNh,若在[a,b]内点(1,2,,)ixiN用差商近似导数,由

2(4)112()2()()()()12iiiiiyxyxyxhyxyzh



忽略余项,并令()iiyyx,则(2.1)离散化得到差分方程 112012(,),1,,,iiiiiNyyyfxyiNhyy







(2.2)

利用差分方程(2.2)逼近边值问题(2.1),其截断误差阶为2()Oh,为了得到更精确的逼近可利用泰勒展开。

设(2.1)中的微分方程改用以下差分格式逼近,即 21111101112[(,)(,)(,)]iiiiiiiiiyyyhfxyfxyfxy

(2.3)

其中101,,为待定参数,记 2101[();]()2()()[()()()]Lyxhyxhyxyxhhyxhyxyxh



在x处按泰勒公式展开到6h,按h幂次整理得 23101114(4)5(5)21111114!23!6(6)721116!4![();][1()]()()()[()]()()()[()]()()LyxhhyxhyxhyxhyxhyxOh







若令 2110111114!21()0,0,()0,解得 101

0111212,

且 6(6)71

240[();]()()LyxhhyxOh

(2.4)

将以上结果代入(2.3),则得到(2.1)的差分方程 2111112012(10)1,,,hiiiiiiNyyyfffiNyy





(2.5)

它的截断误差由(2.4)得到,逼近阶为24[();]/()LyxhhOh。

无论用哪种方法建立差分方程都要讨论差分方程的可解性及解法,并且证明差分方程解iy当0h时0lim()iihyyx。下面以差分方程(2.2)为例讨论它的可解性及解法。

将(2.2)改写成下面的形式 ()0Ayy (2.6)

其中,

12

121121,12112NNyyAyyy



















,211222112(,)/(,)()(,)(,)/NNNNfxyhfxyyhfxyfxyh,

当(,)fxy关于y非线性,则()y非线性,故(2.6)是一个非线性方程组。它可以利用牛顿法或者其它迭代法秋季诶,并有如下结论: 【定理1】对于边值问题(2.1),设,fyf在域{,||}Daxby中连续,且在D中(,)0fxyy,则非线性方程组(2.6)存在唯一解*y,可用牛顿迭代法

(1)()()1()()(())(()),0,1,kkkkkyyAyAyyk



(2.7)

求解,并有()*limkkyy。 在上述定理的条件下,还可以得到差分方程(2.6)解的收敛性,即

相关主题