第八章 常微分方程数值解 (习 题)
1.用Euler 方法解初值问题
0)0(,=+='y b ax y . 并证明其截断误差
2/)(2amh y x y m m =-.
解
将Enler 方法应用于值问题 ??
?=+='0
)0(y b
ax y
得差分方程初值问题
???==++=+0)0()
(0
1y y b ax h y y m m m
这里 mh mh x x m =+=0 ,00=x 由此得
hb b ax h y y =++=)(001
21122)()(ah hb b ah h hb b ax h y y +=++=++=
2222333)2(2)(ah hb b h a h ah hb b ax h y y +=+?++=++=. 迭代得到
2)121(ah m mhb y m -++++= 2
2
)1(ah m m mhb -+= ),2,1( =m 而此问题真解为
m m m bx ax y x y ++=2
21)0()(222
ah m mbh +
= 于是其截断误差
2222
)1(22)(ah m m mhb ah m mhb y x y m m ---+
=-221
amh =. □
2.证明:改进的Euler 方法是稳定的. 证明:设所考虑的初值问题
??
?∈=∞
<≤≤='R
y y a y y b x a y x f y 00,)(,
,),(
其中f 关于y 满足Lipschitz 条件:
2121),(),(y y L y x f y x f -<-
考虑 )],(),([2
111+++++=m m m m m m y x f y x f h
y y []),(),(2
111+++++
=m m m m n m y x f y x f h
z z 令 m m m z y e -= ,则有
[]),(),(21m m m m m m z x f y x f h
e e -+
=+[]),(),(21111++++-+m m m m z x f y x f h 122+++≤m m m e L h
e L h e
∴ m m e hL e hL ??
?
??+≤??? ??-+2112111
于是,当 L
h h 2
00<<< 时,有
≤≤-+≤+ m m e hL hL e 2
112111
01
211211e hL hL m +?
???
??
??
-+
从而
=??? ??-+≤022e hL hL e m
m 0221e hL hL m ??
? ??
-+()02)(20220e e
e e L
h L a b hL mhL
---≤≤
注意,这里 a b mh -≤
取 L
h L
a b e
c 02)(2--= ,则有 0e c e m <
即改进的Euler 方法是稳定的。 □
4.构造形如下面形式的三阶格式
221101--+++=m m m m y a y a y a y )(22110--'+'+'+m m m
y b y b y b h . 解 将)(h x y m +,)(h x y m -,)2(h x y m -,)(h x y m -',)2(h x y m -'在m x 处泰勒展开,并考虑线性组合
[])(m x y L )()2()()()(0210m m m m m x y hb h x y a h x y a x y a h x y '------+= )2()(21h x y hb h x y hb m m -'--'- 得
[]()+---=)(1)(210m m x y a a a x y L ())(2121021n x y h b b b a a '---++
()
??
?
???++--+21221221!21b b a a )(2m x y h '' ()()
)(22121!313221231m x y h b b a a '''???
???--++++
()()
)()(2!3121!415)4(4231241h O x y h b b a a m +??
?
???++--+
令 012100=---=a a a c
021210211=---++=b b b a a c
()024121
21212=++--=
b b a a
c ()()042
1
816121213=--+++=b b a a c
解得 00112427b a a ++-= 00212528b a a --= 0018418b a b --= 0025212b a b --=
将此参数代入原格式中便得到三阶格式族。 □
5.求具有最高阶的三步方法的系数. 解 一般三步方法为
∑∑==++=3
3
j j j m j j m j
f h y βα
由阶条件
032100=+++=ααααc
03232103211=----++=ββββαααc ()32132!
1αααq q q q c ++=
()()
032!1131211=++----βββq q q ,q=2, (7)
解得 0126951998a a =
022*******a a -= 032452
a a -= 002695816a
b -
= 0126954671a b -= 022695
1998
a b -= 0353915a b =
0794325
687a c -= 当00≠a 时,07≠c ,所以方法最高达到6阶。其系数由上式给出。□
6.考察形如
?????++==++=+).
,(),
,(),
(12
1211qhk y ph x f k y x f k k k h y y m m m m m m μλ 的差分格式,证明
(1) 这类格式不可能具有三阶精度;
(2) 具有2阶精度的必为二阶Runge -Kutta 格式. 解 由一元函数的泰勒展开式有
())(!
4)(!3)(!2)()()()
4(4321m m m m m m m y h x y h x y h h x y x y h x y x y ξ+'''+''+'+=+=+ 因为 ),(y x f y =' , f f f y y x ?+=''
()
f f f f f f f f y y x y yy xy xx ?++?++='''2
2
∴ =+)(1m x y +)(m x y )(!
2[2
f f f h fh y x ?++ )(,(23
))]()2((!
3m m x y x y x y yy xy xx f f f f f f f f h ?++?+++)(4h O + 又由二元函数的泰勒展开有 =2k ()1,qhk y ph x f m m ++
),(m m y x f =()ph y x f m m x ,+()()m m m m y y x f qh y x f ,,?+
[]
)(22
321212
2h o f k q f p q k f p h yy xy xx ++++ 将 ),(1m m y x f k = 及2k 代入差方格式的右端,得 ()21k k h y m μλ++()][2
f qf pf h
hf y y x m ?++++=μμλ
]2[2
2223
yy xy xx f f q f pqf f p h +?++μ)(4h o + 为了考虑局部截误差,设)(m m x y y =,于是比较格式的左右两端,得
???
?
?
?
???
===+!21!211q p μμμλ (*)
且3
h 的系数不可能相等。所以这类格式不可能具有三阶精度,而参数满足(*)的格式
正好就是二阶Runge-Kutta 格式. □ 7.选取参数p,q ,使求积公式
??
?++=+=+).
,(,1111qhk y ph x f k hk y y m m m m 具有二阶精度
解 由一元函数泰勒公式,并注意到 ),(y x f y =' 得 ()1+m x y ()h x y m +=())(,)(m m m x y x hf x y +=
))](,())(,())(,([!
22
m m m m y m m x x y x f x y x f x y x f h ++
3!3)(h y n ξ''+ 又由二元函数泰勒展开式,得 ()11,qhk y ph x f k m m ++=
)()],(),([),(2
1h o y x f qk y x pf h y x f m m y m m x m m +++=
∴ ),(),(),(1m m y m m x m m y x hqf y x hpf y x f k ++=[]2)(),(dh h o y x f m m ++ ),(),(m m x m m y x hpf y x f +=)(),(),(2h o y x f y x hqf m m y m m +?+ 代入格式右端,得
=+1hk y m ),(m m m y x hf y +)],(),(),([2m m y m m m m x y x f y x qf y x pf h ++)(3h o +
与)(1+m x y 的展开式比较,得
!21=
p !21
=q ∴选取参数!21=p ,!
21
=q 则所给求积公式具有二阶精度。 □
8.证明二级二阶方法
?????+++==++=+).
2/2/,(),
,(,2/)(212
1211hk hk y h x f k y x f k k k h y y m m m m m m A -稳定.
解 以方法求解 y y λ=' )(c ∈λ 得
????
?
??????? ??++==++=+)(2)
(22121211k k h y k y k k k h
y y m m
m m λλ 整理得差分方程
m m y h h y ????
??-+=+2211 h h λ=
其特征根 h
h
-+
=221ξ, 于是 1<ξ ? 0Re 9.用差分方法解边值问题(取步长2/1=h ) ?? ?==-≤≤-+=''. 1)1()1(,11,)1(2y y x y x y 解 取步长 2 1 =h 对区间]1,1[-进行分割,得分点 10-=x 211-=x 02=x 2 1 3=x 14=x 将微分方程离散,得 0)1(22 211=+-+--+m m m m m y x h y y y 3,2,1=m 由边值条件,得 ???????????==-=+?? ????++-=+?? ? ???++--=?????? -++-1 1 ))21 (1()21(20 )01()21(21)21(1()21(240 23221223122y y y y y y y y y 解得边值问题的解为 10=y ,2051441=y ,2051282=y ,205 144 3=y ,14=y 10.试列出解初值问题 ?????=+='=+='.)0(,,)0(,0 222221212 0112121111 y y y a y a y y y y a y a y 的改进Euler 格式. 解 求解此初值问题的改进Euler 格式为: ()() ( )() ??? ????++++=++++=++++++2 12211212221212212 1121111212111111222 2m m m m m m m m m m m m y a y a h y a y a h y y y a y a h y a y a h y y 10y 、2 0y 已知 这里 1m y 、2m y 分别为真解)(1m x y ,)(2m x y 的逼近。 或写成矩阵形式为 =????????++2111m m y y ??????+????????22211211212a a a a h y y m m ??????+????????22211211212a a a a h y y m m ??? ?????++2111m m y y 或即 ??? ?? ? ??????----222112112122 21a h a h a h a h ??? ?????++2111 m m y y ????? ? ??????++=22211211212221a h a h a h a h ??? ?????21m m y y . □ 11.用上题的计算格式解初值问题 ?? ?=+='=+='.1)0(,4,0)0(,232212 1211 y y y y y y y y 试取1.0=h 算到1=x ,并与精确解 3/)(51x x e e y --=,3/)2(52x x e e y -+=, 相比较. 解 当311=a ,212=a ,421=a ,122=a 1.0=h 010=y 12 0=y 代入上题中的格式中,计算到1=x 得到 0047.55110=y , 3723.55210=y 而其精确解 3484.49)1(1=y 7163.49)1(2=y 比较数值解与精确解,可见其误差较大,其原因是步长取得太大,若缩小步长进行计算, 便可得到较好的近似。 □ 13.求常数d c b a ,,,,使得线性多步方法 )(1111-+-+'+'+'+=m m m m m y d y c y b h ay y 的局部截断误差的阶较高. 解 由阶条件算得 1=a , 31= b , 34= c ,3 1=d 这时方法达到最高阶3阶。 14.试推导求解初值问题00)(),(y x y xy f y =='的如下数值计算格式,并说明它是多少阶的格式. 2/)]()[()(21n n n n n n n n n n y x f x y y x f h y x hf y y +'++=+. 解 由泰勒展开有 =+=+)()(1h x y x y n n 2! 2)()()(h x y h x y x y n n n ''+ '+3 !3)(h y ξ'''+ 因为 )(xy f y =' , ))((y x y xy f y '+'=''))()((xy xf y xy f +'= 于是,上式成为 ++=+))(()()(1n n n n x y x hf x y x y ))((2 2 n n x y x f h '))(()((n n n n x y x f x x y + )(! 33n y h ξ'''+ 为考虑局部截断误差,设)(n n x y y =,于是 = -=+++111)(n n n y x y R )(! 3)(33 h o h y ='''ξ 所以所给数值格式是二阶格式,它由上述式中舍掉局部截断定误差 3 ! 3)(h y n ξ''' 而得。 □ 15.讨论求解初值问题a y y y =-=')0(,λ的二阶中点公式 )),(2 ,2(1n n n n n n y x f h y h x hf y y +++=+, 的数值稳定性(0>λ,为实数). 解 二阶中点公式应用于微分方程 y y λ-=' 得差分方程 n n y h h y ??????+-=+21)(211λλn y ??? ??+-=2211 其特征根 22 11h h +-=ξ 由 12 112 ≤+ -=ξ 解得 2≤h 即 λ 2 ≤h 所以当步长λ 2 ≤h 时二阶中点公式关于初值是稳定的。 □ 16.试用差分法,对于1.0=h 解边值问题 0)2()0(,1===+'-''y y y y x y . 解 以 1.0=h 为步长,用差分法解所给边值问题,得差分方程: ?? ???===+--+--+-+0122200112 1 1y y y h y y x h y y y m m m m m m m 即 这里 00=x ,mh x x m +=0 )(m m x y y ≈ 或即 ?????====++----+0 19,,2,1,)2 1()2()21(2002121y y m h y x h y h y x h m m m m m ????????????????? ???????? ? ? ? ????? ?? ?-+--+--+--1 21212212122102112219 3 232 2212 h x h x h h x h x h h x h x h ,11121921????????????=????? ??????? h y y y 由此解得 1y ,2y , 19,y . □