第四章 常微分方程的数值解法 Numerical Solutions to Ordinary Differential Equations
第四章 常微分方程的数值解法 Numerical Solutions to Ordinary Differential Equations
概述 Chapter 4 Initial -value problems for ODE 一阶常微分方程初值问题: d Problem I: dx f(x,y)求函数y=(x)满足: y(x=f(x, y(x) y f(xy)在[a,b]上连续且满足 Lipschitz条件: 彐L,Vy1y2,S.t.|f(x,y1)f(xy2)≤Lyy2 则初值问题 Problem有唯一解 实际工程技术、生产、科研上会出现大量的微分方程问题 很难得到其解析解,有的甚至无法用解析表达式来表示, 因此只能依赖于数值方法去获得徽分方程的数值解。 HUST
概述 ( ) ( ) P roblem Ι : 0 0 d y = f x,y d x y x =y L, y ,y , |f(x, 12 1 2 1 2 ∃∀ ≤ s.t. y )-f(x,y )| L|y | -y !一阶常微分方程初值问题: ! f(x,y)在[a,b]上连续,且满足Lipschitz条件: !实际工程技术 生产 科研上会出现大量的微分方程问题 很难得到其解析解 有的甚至无法用解析表达式来表示 因此只能依赖于数值方法去获得微分方程的数值解 求函数y=y(x)满足 yí(x) =f(x, y(x)) 则初值问题Problem I有唯一解
Chapter 4 Initial -value problems for ODE 微分方程的数值解法: 口不求y=y(X)的精确表达式而求离散点X0x1…X1处的函数值 口设 Problem的解y×)的存在区间是[ab],初始点x=a,取 [a,b]内的一系列节点Xox1…xn。a=x<x1<.<Xn=b, 般采用等距步长 a 十十 n-1 口用数值方法,求得y(X)在每个节点X的值y(×)的近 似值,用y表示,即y≈y(×),这样yy1r…yn称为微 分方程的数值解 口求y(x) >求yory1r…yn HUST
! 微分方程的数值解法 "不求y=y(x)的精确表达式,而求离散点x0,x1,…xn处的函数值 "设Problem I的解y(x)的存在区间是[a,b] 初始点x0=a 取 [a,b]内的一系列节点x0, x1,...,xn a= x0< x1<…< xn =b 一般采用等距步长 a b x0 x1 x2 ... xn-1 xn "用数值方法 求得y(x)在每个节点xk 的值y(xk ) 的近 似值 用yk 表示 即yk y(xk) 这样y0, y1,...,yn称为微 分方程的数值解 "求y(x)————>求y0, y1,...,yn
Chapter 4 Initial -value problems for ODE 方法:采用步进式和递推法 将[ab]n等分,a=×<X1<…<Xn=b,步长h=mn,X=a+kh n+1=g(h, X In.)n/yn-1/)n-2/./n-m 计算过程: 1→→y2-…->1m-1n=m1=)…->Vn=>)n+1- 怎样建立递推公式? Tayo公式 >数值积分法 HUST
! 计算过程 0 0 n+1 n, n n-1 n-2 n-m y = y(x ) y = g(h,x y ,y ,y ,...y ) !!方法 采用步进式和递推法 将[a,b]n等分 a= x0< x1<…< xn =b 步长h= xk=a+kh b-an 0 1 2 nm nm n 1 n 1 y y y yy y y → → →⋅⋅⋅→ → →⋅⋅⋅→ → →⋅⋅⋅ − − + + ! 怎样建立递推公式 !Taylor公式 !数值积分法
4.1欧拉公式 Chapter 4 Initial -value problems for ODE y 狄思想:用向前差商近似代替微商 y(Xo=yo y(x)≈yXn+)y(x) h=Xn+iXn f(xny×n) yxn+,) yX1=yx)+hf(x) yn1=yn+hf(xnyn)—欧拉公式( Euler scheme) Jx%)= n=01,2 Yn+1=y, +hf(xn,y, HUST
!思想:用向前差商近似代替微商. ≈ n+1 n n n+1 n y(x )-y(x ) y'(x ) h=x -x h ⋅⋅⋅⋅⋅⋅ 0 0 n+1 n n n y(x )=y n=0,1,2, y =y +hf(x ,y ) ——欧拉公式 Euler Scheme 4.1 欧拉公式 ∴ ≈ n+1 n n n y(x )- y(x y(x ) f( , x) . ) h ( ) ( ) ' 0 0 y = f x,y y x =y ∴ ≈ n+1 n n n y(x ) y(x )+hf(x ,y(x )) ∴ n+1=y +hf(x ,y n n n y )