正在加载图片...
ym=yn+的f(xn,yn) 预测 h (11) yn+[f(xn,yn)+∫(xn1,yn)]校正 式(11)称为由 Euler公式和梯形公式得到的预测一校正系统,也叫改进 Euler法 为便于编制程序上机,式(11)常改写成 yu+hf(xn, yn) hf(x, +h, y,) 改进Euer法是二阶方法。 §4龙格一库塔( Runge.-Kuta)方法 回到 Euler方法的基本思想一用差商代替导数一上来。实际上,按照微分中值定理 应有 y(xmD-y(x) (xn+h),0<b<1 注意到方程y=f(x,y)就有 y(x,+1)=y(xu)+hf(x,+ Ch, y(x,+Bh)) 不妨记K=f(xn+团mh,y(xn+团mh),称为区间[xn,xn+1]上的平均斜率。可见给出一种 斜率K,(13)式就对应地导出一种算法。 向前 Euler公式简单地取f(xn,yn)为K,精度自然很低。改进的 Euler公式可理 解为K取f(xn,yn),f(xn+1,丙n+1)的平均值,其中n1=yn+hf(xn,yn),这种处 理提高了精度。 如上分析启示我们,在区间[xn,xn1内多取几个点,将它们的斜率加权平均作为 K,就有可能构造出精度更高的计算公式。这就是龙格一库塔方法的基本思想。 41首先不妨在区间[xn,xn+1]内仍取2个点,仿照(13)式用以下形式试一下 yn+I=y+h(nk,+n,,) k,=f(n,y,) (14) k2=f(x, +ah, y,+ Bhk,),0<a,B< 其中λ,2α,B为待定系数,看看如何确定它们使(14)式的精度尽量高。为此我们 分析局部截断误差y(xn+1)-yn+1,因为yn=y(xn),所以(14)可以化为-182- ⎪ ⎩ ⎪ ⎨ ⎧ = + + = + + + + + 校正 预测 [ ( , ) ( , ) ] 2 ( , ) 1 1 1 1 n n n n n n n n n n f x y f x y h y y y y hf x y (11) 式(11)称为由 Euler 公式和梯形公式得到的预测—校正系统,也叫改进 Euler 法。 为便于编制程序上机,式(11)常改写成 ⎪ ⎪ ⎩ ⎪ ⎪ ⎨ ⎧ = + = + + = + + ( ) 2 1 ( , ) ( , ) n 1 p q q n n p p n n n y y y y y hf x h y y y hf x y (12) 改进 Euler 法是二阶方法。 §4 龙格—库塔(Runge—Kutta)方法 回到 Euler 方法的基本思想—用差商代替导数—上来。实际上,按照微分中值定理 应有 '( ), 0 1 ( ) ( ) 1 = + < < + − y x θh θ h y x y x n n n 注意到方程 y'= f (x, y) 就有 ( ) ( ) ( , ( )) y xn+1 = y xn + hf xn +θh y xn +θh (13) 不妨记 K f (x h, y(x h)) = n +θ n +θ ,称为区间[ , ] n n+1 x x 上的平均斜率。可见给出一种 斜率 K ,(13)式就对应地导出一种算法。 向前 Euler 公式简单地取 ( , ) n n f x y 为 K ,精度自然很低。改进的 Euler 公式可理 解为 K 取 ( , ) n n f x y , ( , ) n+1 n+1 f x y 的平均值,其中 ( , ) n 1 n n n y = y + hf x y + ,这种处 理提高了精度。 如上分析启示我们,在区间[ , ] n n+1 x x 内多取几个点,将它们的斜率加权平均作为 K ,就有可能构造出精度更高的计算公式。这就是龙格—库塔方法的基本思想。 4.1 首先不妨在区间[ , ] n n+1 x x 内仍取 2 个点,仿照(13)式用以下形式试一下 ⎪ ⎩ ⎪ ⎨ ⎧ = + + < < = + = + + ( , ), 0 , 1 ( , ) ( ) 2 1 1 1 1 1 2 2 α β α β λ λ k f x h y hk k f x y y y h k k n n n n n n (14) 其中 λ1,λ2 ,α,β 为待定系数,看看如何确定它们使(14)式的精度尽量高。为此我们 分析局部截断误差 1 1 ( ) n+ − n+ y x y ,因为 ( ) n n y = y x ,所以(14)可以化为
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有