隐式Euer方法和Euer方法的改进(续) 为了得到更精确的方法,在等价的积分方程中用 梯形公式 fox)db. (b-a ff (a+f(b) ∫"(7),∈(a,b) 2 12 近似积分项,再分别用yn’ym代替vx)和y(xn+),即 可得到梯形方法: +[f( x,1)+f(x n 2 +1yn+1 ),n=0,1,2 该方法也是一种隐式的单步方法。对该方法, n,,ntli h=lf(n, yn)+f( n+15yn+1 从n=0开始计算,每步都要求解yn的一个方程。 般来说,这是一非线性方程,可迭代计算如下: 2004-12-13 11
2004-12-13 11 隐式Euler方法和Euler方法的改进(续) 为了得到更精确的方法,在等价的积分方程中用 梯形公式 ''( ), ( , ) 12 [ ] 2 3 f a b b a f a f b b a f x dx b a ∈ − + − − = ∫ η η ( ) ( ) ( ) ( ) [ ( , ) ( , )], 0,1,2,L 2 +1 = + f x y + f x +1 y +1 n = h y y n n n n n n 近似积分项,再分别用yn,yn+1代替y(xn)和y(xn+1),即 可得到梯形方法: 该方法也是一种隐式的单步方法。对该方法, [ ( , ) ( , )] 21 ( , , , ) n n n+1 = n n + n+1 n+1 φ x y y h f x y f x y 从n=0开始计算,每步都要求解yn+1的一个方程。一 般来说,这是一非线性方程,可迭代计算如下:
隐式 Euler方法和Euer方法的改进(续) n+1 mn+hf(rn, yn) S=0.1.2 yI+l=y,+"If(, ym)+f(x,m,fs 使用上式时,先用第一式计算出y的近似值ym+1,再用 第二式反复进行迭代,得到数列A,用p=H-=≤E 来控制是否继续进行迭代,其中s为允许误差。把满足要 求的y作为xm)的近似值ym,类似地可得出m2, +3 当xy)关于y满足 Lipschitz条件时,且步长满足2<1 时,上述迭代过程是收敛的。这是因为: 2004-12-13 12
2004-12-13 12 隐式Euler方法和Euler方法的改进(续) , 0,1,2,L [ ( , ) ( , )] 2 ( , ) [ ] 1 1 [ 1] 1 [0] 1 = = + + = + + + + + + s f x y f x y h y y y y hf x y s n n n n n s n n n n n 使用上式时,先用第一式计算出yn+1的近似值 ,再用 第二式反复进行迭代,得到数列 ,用 来控制是否继续进行迭代,其中ε为允许误差。把满足要 求的 作为y(xn+1)的近似值yn+1,类似地可得出yn+2, yn+3,…。 [0] n+1 y { }∞ + =0 [ ]1 s sn y − ≤ε + ++ [ ]1 [ 1] 1 sn sn y y [ 1] 1 + + s n y 当f(x,y)关于y满足Lipschitz条件时,且步长h满足 时,上述迭代过程是收敛的。这是因为: 1 2 1 hL<
隐式 Euler方法和Euer方法的改进(续) n+1 n+1 n+1 +1 h of (5) hL (yn+1-ym)≤-npyn+1-y6<yn+1-ym|<…<yn+-ym 其中介于ym与y之间。 s+1 hL s+1 yn+1-ym|→>0(s→>∞) 即为s趋于∞,y1→yn1 实用中,h取得较小时梯形方法第二式只迭代一次就 结束,得到 Euler预估一校正方法(改进的 Euler方法) n+ hf(n,yu) yn=yn+f(n, yn)+f( n+15yn+1 其中第:式称为预估算式,第二式称为校正算式。B
2004-12-13 13 [0] 1 1 [ ] 1 1 [ ] 1 1 [ ] 1 1 [ ] 1 1 1 1 [ 1] 1 1 2 ( ) ( ) 2 ) 2 + + + + + + + + + + + + + + + − ≤ − < − < < − ∂ ∂ = − = − n n s n n s n n s n n s n n n n s n n y y y y y y hL y y y h f f x y f x y h y y L ξ ( , ) ( , ) 0 ( ) 2 ( [0] 1 1 [ 1] 1 1 − 1 ≤ ≤ + − + → → ∞ + + + + y y s hL y y n n s s n n L 实用中, h 取得较小时,梯形方法第二式只迭代一次就 结束,得到Euler预估 —校正方法 (改进的Euler方法 ): = + + = + + + + + [ ( , ) ( , )] 2 ( , ) [0] 1 1 1 [0] 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 其中第一式称为预估算式,第二式称为校正算式。 隐式Euler方法和Euler方法的改进(续) 其中 ξ介于y n +1 与 之间。 [ ] 1 s n y + 1 [ ] 1 , ∞ + → n + s n 即为 s趋于 y y
隐式 Euler方法和Euer方法的改进(续) 若将 Euler预-校方法中的第一式带入第二式,得 ynI=yn+ff(n,yn)+f(n l,yn +hf(n, yn) Remark:这是一种显示的单步方法。有时为了计 算方便,常将上式改写成: mn+=yn+o(K,+K, Ki=f(x K2=f(rn+,yn+hKy) 2004-12-13
2004-12-13 14 隐式Euler方法和Euler方法的改进(续) 若将Euler预-校方法中的第一式带入第二式,得 [ ( , ) ( , ( , ))] 2 n 1 n n n n 1 n n n f x y f x y hf x y h y + = y + + + + Remark:这是一种显示的单步方法。有时为了计 算方便,常将上式改写成: = + + = + = + + ( , ) ( , ) ( ) 2 2 1 1 1 1 2 K f x h y hK K f x y K K h y y n n n n n n
三、单步法的局部截断误差和阶 设一般的单步法为: 显式公式:ym=yn+h(x,yn,h) 隐式公式:ym=y+(x,y,ymh 设y为数值方法的精确值,y(xn)为微分方程的 精确解。 定义1:n=y(x1)-yn.为某一数值方法在x处的整体截 断误差。 Remark:整体截断误差不仅与x,这步的计算有关,而 且与前面所有点的计算的误差累计有关。为了简化误 差分析,我们着重分析计算中的某一步。对一般的显 式单步法,有如下定义: 2004-12-13 15
2004-12-13 15 三、单步法的局部截断误差和阶 设一般的单步法为: 显式公式:yn+1 = yn + hφ(xn,yn,h) 隐式公式:yn+1 = yn + hφ(xn,yn,yn+1,h) 设 为数值方法的精确值,y( )为微分方程的 精确解。 n yn x n n n e = y(x )− y n 定义1: 为某一数值方法在 x 处的整体截 断误差。 Remark:整体截断误差不仅与 这步的计算有关,而 且与前面所有点的计算的误差累计有关。为了简化误 差分析,我们着重分析计算中的某一步。对一般的显 式单步法,有如下定义: n x