二)米尔尼(Mlme)公式 取r=3,并令=a1=a2=B1=0,由方程组可 解出a3=1,月6=,B4 3 3 相应的线性多步式 yn+1=yn3+h(2fn-f21+2 称为 Milne公式,其局部截断误差为 14 R n+1 hy3+O(h°) 45 Milne公式是四阶四步显式公式
1 2 1 3 0 1 2 3 1 3 1 2 5 (5) 6 1 ( ) 0, 8 4 8 1, , , , 0, 3 3 3 4 (2 2 ) 3 14 ( ) 45 n n n n n n n Miline y y h f f f Miline R h y O h Miline − + − − − + = = = = = = = − = = = + − + = + 0 (二)米尔尼 公式 取r=3,并令 由方程组可 解出 相应的线性多步式 称为 公式,其局部截断误差为 公式是四阶四步显式公式
(三)哈明( Hamman g)公式 取r=2,并令a1=B2=0,可得到 Ham min g公式 Vn1=(9yn-yn-2)+hom+2f,-fm-D) 其局部截断误差为 RnA h3y6)+0(h) 40 Hamming公式是四阶三步隐式公式
1 2 1 2 1 1 5 (5) 6 1 ( min ) 0, min 1 3 (9 ) ( 2 ) 8 8 1 ( ) 40 n n n n n n n n Ham g Ham g y y y h f f f R h y O h + − + − + = = = − + + − = − + (三)哈明 公式 取r=2,并令 可得到 公式 其局部截断误差为 Hamming公式是四阶三步隐式公式
隐式法与显式法的比较 般地,同阶的隐式法比显式法精确,而且数值 稳定性也好。但在隐式公式中,通常很难解出yn,需 要用迭代法求解,这样又增加了计算量 在实际计算中,很少单独用显式公式或隐式公式, 而是将它们联合使用:先用显式公式求出y(xn1)的预 测值,记作yn1,再用隐式公式对预测值进行校正,求 出y(xn1)的近似值ynp
1 1 , ) , ) n n y + + n+1 n+1 n+1 隐式法与显式法的比较 一般地,同阶的隐式法比显式法精确,而且数值 稳定性也好。但在隐式公式中,通常很难解出y 需 要用迭代法求解,这样又增加了计算量。 在实际计算中,很少单独用显式公式或隐式公式, 而是将它们联合使用:先用显式公式求出y(x 的预 测值,记作y 再用隐式公式对预测值进行校正,求 出y(x 的近似值
§5预测校正系统 用显式公式计算预测值,然后用隐式公式进行校正, 得到近似值yn1这样一组计算公式称为预测一校正系统 般采用同阶的隐式公式与显式公式。常用的预 测一校正系统有两种: Adams预测一校正公式 h Yn+I=yn 55fn-59f1+37fn-2-9fm-3 预测 24 h yn1=yn+⑨f(xn12yn)+19n-5fn1+fn2]校正 24
§5.预测—校正系统 用显式公式计算预测值,然后用隐式公式进行校正, 得到近似值yn+1这样一组计算公式称为预测—校正系统。 一般采用同阶的隐式公式与显式公式。常用的预 测—校正系统有两种: 1 1 2 3 1 1 1 2 1 (55 59 37 9 ) 24 [9 ( , ) 19 5 ] 24 n n n n n n n n n n n n n Adams h y y f f f f h y y f x y f f f + − − − + + − − + = + − + − = + + − + 预测—校正公式 预测 校正
Milin- Hamman g预测一校正公式 Ym=yn-3+h(2fr-f- +2f 3 yn+1=-(9yn-yn-2)+hlf(rm1, ynD)+2fr-fm-DI 8 说明: (1)以上两种预测一校正公式均为四阶公式,其起步值 通常用四阶RK公式计算。 (2)有时为提高精度,校正公式可迭代进行多次,但迭 代次数一般不超过3次
1 3 1 2 1 2 1 1 1 li min 4 (2 2 ) 3 1 3 (9 ) [ ( , ) 2 )] 8 8 n n n n n n n n n n n n Mi ne Ham g y y h f f f y y y h f x y f f + − − − + − + − + − = + − + = − + + − 预测—校正公式 (1) RK 3 说明: 以上两种预测—校正公式均为四阶公式,其起步值 通常用四阶 公式计算。 (2)有时为提高精度,校正公式可迭代进行多次,但迭 代次数一般不超过 次
用局部截断误差进一步修正预测一校正公式 由Aams公式的局部截断误差公式 251 n+1 h +O(h°) 720 (5) n+1 hy +O(h°) 720 270 两式相减→1n+1-n+1103<5+O(h°) 720 h 270 +1 251 y(m+D-y 270 n n+1 19 1(xX, n+1 +1≈ 270 n+1 n+1
用局部截断误差进一步修正预测-校正公式 5 (5) 6 1 1 5 (5) 6 1 1 5 (5) 6 1 1 5 (5) 1 1 1 1 1 1 1 251 ( ) ( ) 720 19 ( ) ( ) 720 270 ( ) 720 720 ( ) 270 251 ( ) ( ) 270 ( ) n n n n n n n n n n n n n n n n n Adams y x y h y O h y x y h y O h y y h y O h h y y y y x y y y y x + + + + + + + + + + + + + − = + − = − + − = + − − − − 由 公式的局部截断误差公式 两式相减 1 1 1 19 ( ) 270 y y y n n + + − − n+
由上面就得到多环节的 Adams预测一校正公式 h Pn+=yn+~,(55fn-59fn1+372-9fn 预测 24 251 改进 270 CnH1=yn+[9f(xm1,mn)+19n-5n1+fn2]校正 24 19 n n+1 270 n n+1 改进
1 1 2 3 1 1 1 1 1 1 2 1 1 1 1 (55 59 37 9 ) 24 251 ( ) 270 [9 ( , ) 19 5 ] 24 19 ( ) 270 n n n n n n n n n n n n n n n n n n n n n Adams h p y f f f f m p c p h c y f x m f f f y c c p + − − − + + + + + − − + + + + = + − + − = + − = + + − + = − − 由上面就得到多环节的 预测-校正公式 预测 改进 校正 改进
完全类似,可以导出多环节的Mlne- Hamman g 预测一校正公式 pn+i=yr h(2fn-fn-1+2f2) 预测 112 (cn-p 改进 21 Cn1=(9yn-yn2)+hf(x1,mn1)+2厂n-fn1]校正 9 n+1 121 n+1 n+1 改进
1 3 1 2 1 1 1 2 1 1 1 1 1 1 1 ln min 4 (2 2 ) 3 112 ( ) 121 1 3 (9 ) [ ( , ) 2 ] 8 8 9 ( ) 121 n n n n n n n n n n n n n n n n n n n n Mi e Ham g p y h f f f m p c p c y y h f x m f f y c c p + − − − + + + − + + − + + + + − = + − + = + − = − + + − = − − 完全类似,可以导出多环节的 预测-校正公式 预测 改进 校正 改进
算法 (1)输入a,b,f(x,y)2N,y(2)置h= b-a 0=a2n=1 (3)计算 =f(rm-l, K,= hf K,=hf( h K K3=hf(e Ka=hf(n-th,y,-+K3) 2 Un=n-1+-(K+2K2+2K,+K4 x=a+nh (4)输出(xn,yn) (5)若n<3,置n+1→n,返回3; 否则,置n+1→n,0→p0,0→c0,转6
0 0 1 1 1 1 1 1 2 1 1 1 , , ( , ), , (2) , , 1 (3) ( , ) ( , ) 2 2 n n n n n n b a a b f x y N y h x a n N f f x y h K K hf K hf x y K − − − − − − − = = = = = = + + 算法 ( )输入 置 计算 2 3 1 1 4 1 1 3 1 1 2 3 4 0 0 ( , ) ( , ) 2 2 1 ( 2 2 ) 6 (4) ( , ) (5) 3, 1 , 3 1 , 0 , 0 , 6 n n n n n n n n n h K hf x y K hf x h y K y y K K K K x a nh x y n n n n n p c − − − − − = + + = + + = + + + + = + + + 输出 若 置 返回 ; 否则,置 转
(6)计算 f3=f(x3,y3) x=xth 112 p=y0+-(2f3-f2+2f)m=p+ (Co-po) 121 c=(9y3-y1)+hf(x,m)+23-f2] 9 (c-p) 输出(x,y) 121 (7)若n<N,置n+1→n,xA→x,yA→y,f→f (=0,1,2),x→x3,y→y3,p→p02C→C02转6; 否则停机
3 3 3 3 0 3 2 1 0 0 3 1 3 2 1 1 1 3 3 0 (6) ( , ) 4 112 (2 2 ) ( ) 3 121 1 3 (9 ) [ ( , ) 2 ] 8 8 9 ( ) , ) 121 (7) 1 , , , ( 0,1, 2), , , , j j j j j j f f x y x x h p y f f f m p c p c y y h f x m f f y c c p x y n N n n x x y y f f j x x y y p p + + + = = + = + − + = + − = − + + − = − − + = 计算 输出( 若 ,置 0 c c , 6 转 ; 否则停机