绪论 在工程和科学计算中,所建立的各 种常微分方程的初值或边值问题,除很 少几类的特殊方程能给出解析解,绝大 多数的方程是很难甚至不可能给出解析 解的,其主要原因在于积分工具的局限 性。因此,人们转向用数值方法去解常 微分方程,并获得相当大的成功,讨论 和研究常微分方程的数值解法是有重要 意义的
绪论 在工程和科学计算中,所建立的各 种常微分方程的初值或边值问题,除很 少几类的特殊方程能给出解析解,绝大 多数的方程是很难甚至不可能给出解析 解的,其主要原因在于积分工具的局限 性。因此,人们转向用数值方法去解常 微分方程,并获得相当大的成功,讨论 和研究常微分方程的数值解法是有重要 意义的
6.1初值问题的 Euler方法 设一阶常微分方程初值问题 f(x, y) dx 记xn=a+mh(n=0,1,2,,h>0为步长,一般总 假定为常数。该式的数值解是指通过某种方法 去获得解y(x)在点xn上的近似值n,即 y(xn)≈yn(n=0,2,,)
6.1 初值问题的Euler方法 ( ) ( 0,1,2,...) ( ) , ( 0,1,2,...), 0 ( ) ( , ) 0 0 = = + = = = y x y n y x x y x a nh n h y x y f x y dx dy n n n n n 去获得解 在点 上的近似值 即 假定为常数。该式的数值解是指通过某种方法 记 为步长,一般总 设一阶常微分方程初值问题
初值问题的Eue方法 为实现这一目标, Euler方法首先将微分算子离 散化,并用x代替x,于是该式可离散为: y(rn+h-y(xn) h 以y表示yv(xn)的近似值,则有 yn1=yn+b/(xn,yn)(n=0,2,)() 这就是显式的Euer公式,它可以从y出发,逐次 算出y1,y2,y
初值问题的Euler方法 算出 。 这就是显式的 公式,它可以从 出发,逐次 ( ) 以 表示 的近似值,则有 散化,并用 代替 于是该式可离散为: 为实现这一目标, 方法首先将微分算子离 , , ... `Euler ( , ) 0,1,2,... (1) ( ) ( , ( )) ( ) ( ) , Euler 1 2 3 0 1 0 y y y y y y hf x y n y y x f x y x h y x h y x x x n n n n n n n n n n n = + = + − +
初值问题的Eue方法 如果用xn代替x,于是该式可离散为: ≈f(xn+1,y(xn+1) 以y表示y(xn舶近似值,则有 yn1=yn+bf(xn1,yn)(n=0,12…(2) 这就是隐式的Euer公式或向后Euer方法,它与显式 的不同在于,它每算一步要解函数方程(2)才能得到 n+1
初值问题的Euler方法 。 的不同在于,它每算一步要解函数方程 才能得到 这就是隐式的 公式或向后 方法,它与显式 ( ) 以 表示 的近似值,则有 如果用 代替 于是该式可离散为: 1 1 1 1 1 1 1 0 (2) `Euler Euler ( , ) 0,1,2,... (2) ( ) ( , ( )) ( ) ( ) , + + + + + + + = + = + − n n n n n n n n n n n n y y y hf x y n y y x f x y x h y x h y x x x
初值问题的Eue方法 如果取以上两式的算术平均值的结果,则得 yn1=y, +lf(n, yn)+f(nl)yn+) (n=0, 1, 2, 称为梯形公式。 计算y时常用以下迭代式: ym=yn hf(xn, yn) (3) y(+)=yn+a[f(xn,yn)+f(xn1,y1)(k=0,1,2 当|y+-y)k<E时,取y (k+1) n+1
初值问题的Euler方法 ( 1) 1 1 ( 1) ( ) 1 ( ) 1 1 ( 1) 1 (0) 1 1 1 1 | | , 3 [ ( , ) ( , )] 0,1,2,... 2 ( , ) [ ( , ) ( , )] 0,1,2,... 2 + + + + + + + + + + + + + − = + + = = + = + + = k n n k n k n k n n n n n k n n n n n n n n n n n n y y y y f x y f x y k h y y y y hf x y y f x y f x y n h y y 当 时 取 ( ) ( ) 计算 时常用以下迭代式: 称为梯形公式。 ( ) 如果取以上两式的算术平均值的结果,则得
初值问题的Eue方法 定理611设函数f(x,y)对变量y:足 Lipschitz 条件,L为ch常数。如果步长h满足气L∠ 即h<2时,则由3)产生的序列y+(k=0,1,2) L 收敛
初值问题的Euler方法 收敛。 即 时,则由( )产生的序列 条件, 为 常数。如果步长 满足 定理 设函数 对变量 满足 3 { } ( 0,1,2...) 2 1, 2 Lipschitz 0 6.1.1 ( , ) y Lipschitz ( ) 1 = + y k L h hL L h f x y k n
初值问题的Eue方法 证明:由式(2)和(3)有 -|f( )-f( (k) n+1 n+1 n+15yn+1 n+15n+1 hL k) n+1 n+ k+1 yn+1 n+ 由假设知:im(=)=0,故有 lm y)=yn1 k→2
初值问题的Euler方法 由假设知 故有 。 证明:由式( )和( )有 1 ( 1) 1 1 (0) 1 1 1 ( ) 1 1 ( ) 1 1 1 1 (k 1 ) n 1 n 1 ) 0 , lim 2 : lim ( ) | | 2 ( ...... | | 2 | ( , ) ( , )| 2 | y y | 2 3 + + + → + → + + + + + + + + + + + + = = − − − = − n k n k k k n n k k n n k n n n n y y hL y y hL y y hL f x y f x y h
初值问题的Eue方法 对于(2)计算yn,由于迭代工作量较大,一般只 迭代一次构成一类预估一校正算法,即 m=yn+hf(xn,yn) ynt=yn +lf(n, yn)+f(rn, yI2)) 并取yn1=ye
初值问题的Euler方法 并取 。 迭代一次 构成一类预估 校正算法 即 对于 计算 由于迭代工作量较大 一般只 (c) 1 1 ( ) 1 1 ( ) ` ( ) 1 1 [ ( , ) ( , )] 2 ( , ) , , (2) , , + + + + + + + = = + + = + − n n p n n n n n c n n n n p n n y y f x y f x y h y y y y hf x y y
初值问题的Eue方法 上式还常写成 Wn+1=yn+f(k+k, 2 k,=hf(rn,yn) k2=hf(xn+h,yn+k1)(n=0,1,2,) 该式称为改进Eer方法,亦可写成 ym=y,+lf(rn+yn)+f(rn ,yn+hf(mn,y
初值问题的Euler方法 [ ( ) ( , ( , ))] 2 Euler , ( , ) ( 0,1,2,...) ( , ) ( ) 2 1 1 1 2 1 1 1 1 2 n n n n n n n n n n n n n n f x y f x y hf x y h y y k hf x h y k n k hf x y y y f k k = + + + + = + + = = = + + + + + 该式称为改进 方法 亦可写成 上式还常写成