当前位置:文档之家› 数值分析常微分方程的数值解法

数值分析常微分方程的数值解法

《计算机数学基础》数值部分第五单元辅导14 常微分方程的数值解法一.重点内容1. 欧拉公式:)心知1)a 儿+1 =儿 + hfg ,儿) m 1、伙=0丄2,…川一 1)I 无=x Q +kh局部截断误差是0(*)。

2. 改进欧拉公式:预报一校正公式:预报值 _v*+1 =儿+ hf (x k ,儿)-h -校正值y M = y k +-[f (x kt y k ) + /(x A+1, y M )]即儿+1 =儿+ £ "(忑'儿)+心+「儿+ hfg ,儿))]或表成平均的形式:儿=儿+ hfg ,儿) '儿=儿+"(无+】,儿)+K )改进欧拉法的局部截断误差是0(2)3. 龙格一库塔法二阶龙格一库塔法的局部截断误差是0(爪) 三阶龙格一库塔法的局部截断误差是0(护)四阶龙格F 塔法公式:儿计=儿+ 2(匕+ 2心+ 2© + ©)四阶龙格一库塔法的局部截断误差是0(爪)。

二实例y' = — y — xv f2(0 < x < 0.6)例1用欧拉法解初值问题{'•-取步长/匸02计算过程保留b (o )= 14位小数。

解/i=0.2. f (x )= —y —xy 2<,首先建立欧拉迭代格式y*+i =儿+ hf g,y k ) = y k -hy k -hx k y ;=0.2 儿(4 - x k y k )(k = 0,1,2)K 2=f(x n +^h,yk+-hK\)t gg+舟人,>'n +y/?A3);当k=0, xi=0.2 时,已知x()=0,y()=l,有y(0・2)今i=0・2X l(4-0X 1)=0.8000当k=\. M=0・4时,已知“=0・2」尸0・8,有y(0・4)今2=0.2 X 0.8X(4-0.2X0.8)=0.614 4当k=2, xs=0.6 时,已知x2=0.4,y2=0.6144,有y(0・6)今3=0.2 X0.6144X (4-0.4 X 0.4613)=0.8000「J, ,2 ・_ ZX例2用欧拉预报一校正公式求解初值问题\y + v +V sinx=,取步长/?=0.2,计算.y ⑴=1 y(0.2),y(0.4)的近似值,计算过程保留5位小数。

解步长力=0.2,此时/(x,y)=—y—fsiiu欧拉预报一校正公式为:预报值兀I = y k + hfg y k)- I J_校正值)3=儿+尹(忑,儿)+ fg,儿+1)]有迭代格式]预报值儿+] = y k 4-h(-y k -y; sin x k)=y k (0・8-0・2儿sin x k)< h 、—— 2校止值y如]=儿 +尸[(一片一力sinxJ + LN+i-yl sin.v I+1)]——•>=儿(°・9一0・1儿sin心)一0・1(儿+| +y;j sin心利) 、"M=0.別=1」)=1 时,Xj=1.2> 有儿=yo(°・8-O・2yo sinx0) = 1 x (0.8-02x lsin 1) = 0.63171y(1.2) «= lx(0.9-0.1xlxsinl)-0.1(0.63171+0.631712sinl.2) = 0.71549当 T xi=1.2, yi=0.71549 时,x2=1.4,有y2 =儿(0.8-0・2儿sinXj) = 0.71549x(0.8-02x0.71549sinl.2)=0.47697y(14) z y2= 0.71549x(0.9-0.1x0.71549xsin 1.2)-0.1(0.47697+ 0.476972 sin 1.4) =0.52608V = 8 — 3y例3写出用四阶龙格一库塔法求解初值问题^ ‘的计算公式,取步长/匸0.2计b(0) = 2算y(0.4)的近似值。

讣算过程保留4位小数。

解此处.心,刃=8 —3”四阶龙格一库塔法公式为艰=儿 + % + 2© + 2勺 + ©)1 h, y n+ y/?A3):本例计算公式为:0 2呱严儿+三(32©+2©+心其中K I=8—3比;K2=5・6—2.1)%:心=6・32—2・37)灭;心=4・208+1.578〉》>7+1 = y k + 上(8 - 3 儿 + 2(5.6 一 2.1儿)+ 2(6.32 一 2.37 儿)+ (4.208 一 1.578儿))= 1.2016 + 0.5494 儿伙=0J2 …丿一 1)当兀尸0,yo==2,y (0.2) « =1.2016 +O.5494y o = 1.2016+ 0.5494x 2 = 2.3004 〉,(0.4)~>,2 =l ・2016+ 0.5494比=1.2016+ 0.5494x 2.3004 = 2.4654 例4设初值问题y ,+ y = 0,y (0) = l ,证明用梯形公式求解该问题的近似解为 儿=詔)证明解初值问题的梯形公式为儿+1 =31- +£【/(忑,片)+ /(H+i ,儿+1)]仗=°」,2,…屮一 1)••• /(匕 y ) = _y■■-畑=儿+寸[一儿一畑]整理成显式(2-h}>7+i = -—r 儿(£=0丄2…丿一 1)12 +力丿用匕皿一 1,"一2,…,1.0反复代入上式,得到,_(2-/J. _(2-/讦,_ _(2-力丫小例5选择填空题:答案:汕=九[1 • 1 +(] + 0]防 1,k = °,1,2,…,“ ->0 = 1>> =>\ +妙•(忑,儿) 儿=儿+"(兀*丿2 + h ) 1.2 + // 1.2 + 力 y Q =1・•・儿=12 +力丿1.取步长A=0.L 用欧拉法求解初值问题?4十I 的计算公式是yd )= 1解答:欧拉法的公式此处f (x 9y ) = ^ + y,迭代公式为2.改进欧拉法的平均形式公式是()答案:(D )解答:见改进欧拉法平均形式公式。

三、练习题y f = f (x 、y )1・求解初值问题【欧拉法的局部截断误差是();改进欧拉法的局部截断 误差是();四阶龙格一库塔法的局部截断误差是()(A )O (/r ) (B )O (护)(C )O (f ) (D )O (h 5) 2. 改进欧拉预报一校正公式是预报值 )1 = y A + _________校 JE 值 儿+i =y A +y[ ________________ ]改进欧拉法平均形式公式为»= ______________ ,儿= ___________ ,屮+尸 ________________ 试说明它们是同一个公式。

3. 设四阶龙格一库塔法公式为y'+ y = 05. 试写岀用欧拉预报一校正公式求解初值问题和 / 的计算公式,并取步长/i=0.1,求y (0・2)的近似值。

要求迭代误差不超过10 5。

6. 对于初值问题P = A;V试用(1)欧拉法:(2)欧拉预报一校正公式:(3)四阶龙格一库(y (o )=1塔法分别计算y (0・2),y (0・4)的近似值。

y z + y = x7. 用平均形式改进欧拉法公式求解初值问题彳• • 在.匸0・2,0・4,0・6处的近似值。

儿=)7 +〃(忑,儿) 儿=儿+〃(无+1,儿)y^=-(y P + 儿)儿=>\ +妙•(忑,儿) 儿•=儿+ /矿(X —儿+1 =亍(儿+儿)丿(“)=>04•取步长尼0.1.用欧拉法求解初值问题?卜(0) = 1V — = V. +’(心 +2心 +2心 +匕)取步长5,用四阶龙格-库塔法求解初值问叱爲的计算公式y(0) = 0四.练习题答案1. (A), (B), (D)2・hf(x k, y k); f(x k, y k) + f(x M, y i+1)比+"(兀,儿);儿+/(忑+1,儿,) *(打+儿)只需将尹,弘的表达式代入到屮+】中,就得到预报一校正公式。

3. 0.2591625 +1.2591625 % (R = 0.1,2,・・・,死一1)提示:其中Ki=l—yjt:心=0・85(1 —%):心=0・8725(1—滋):心=0・73825(1 —)认) 畑=儿 + 孚(1 一儿+ 1.7(1+1.745(1-儿)+ 0.73825(1-儿))O=0.2591625 + 1.2591625 y k伙=0,12…,n-1)4.yi=l, )*1.005000,护1・010025, y4= 1.025 175, y5= 1.045 679,>•6=1.078 21,力=1.103 976, y尸1」42615,严尸1」88 320, yi0= 1.241 7945.计算公式为>7+i =°・9 儿>7+1 =°・95 儿_ (k=0,1,2,…,舁一1) -0・05〉i儿=0・9 儿儿=0.905’ [儿= 0.814 286 = 0.818 8096•欧拉法:y(0.2> 1.000 00; y(0.4)^1.080 00欧拉预报一校正公式:y(0.2>1.020 84; y(0.4> 1.042 40四阶龙格一库塔法:y(0.2> 1.002 673 ;y(0.4)^ 1.021 798 7.y/7=0, y(=0.04, vi=0.02:yp=0・056, N=0・088&户=0・0724:忙0・13792,比=0」64816,屮=0」513688.提示:见教材关于梯形公式的推导。

相关主题