第五章常微分方程数值解 §5.1问题的提出 常微分方程定解问题 般F(t2x,x2…,x(m)=0 初始问题 均可化为 f(x, t) dx =f(x, t),t>to (5-1) 形式,称此为标准模式。 x(t0) 例如 x()∈R",t≥to是其解析解。 +(1-x2)+x=f() 2、边值问题 dx 引入x1=x =f(x, t),a<t<b (5-2) x(a)=xa, x()=xr x()∈R",a≤t≤b是其解析解。 (1-x2)x2-x1+f()
第五章 常微分方程数值解 §5.1 问题的提出 是其解析解。 , 、边值问题 是其解析解。 、初始问题 常微分方程定解问题 x t R a t b x a x x b x f x t a t b dt dx x t R t t x t x f x t t t dt dx n a b n ( ) , (5- 2) ( ) , ( ) ( , ) 2 ( ) , (5-1) ( ) ( , ), 1 0 0 0 0 形式,称此为标准模式。 均可化为 一般 ( , ) ( , , , , ) 0 ( ) f x t dt dx F t x x x n (1 ) ( ) , (1 ) ( ) 2 1 2 1 2 2 1 1 2 2 2 2 x x x f t dt dx x dt dx dt dx x x x x f t dt dx x dt d x 引入 ,则 例如
对于非线性问题很难求得解析解x(t)。数值解法就是 求在给定时刻t0,41,…,tn的近似值x0,x1,…,xn然后在利用数 值逼近的方法得到x()得近似x(t) *初始问题算法的构造是微分方程(5-1)◇积分方程: n+1 x(n)+-/(x (5-3) 然后数值积分。 或采用台劳展开的方法,即hn=t1-tn X x(tn)+hnr,(n) (5-4) 然后按精度要求截断。 定义:若计算xn+1只用到前面一步信息xn,即算法是 n+1=xn+h,(n,tn, hn) 则称之为单步算法。否则为多步算法
( ). ~ ( ) , , , , , , . ( ) 0 1 0 1 x t x t t t t x x x x t n n 值逼近的方法得到 得近似 求在给定时刻 的近似值 然后在利用数 对于非线性问题很难求 得解析解 。数值解法就是 然后按精度要求截断。 或采用台劳展开的方法,即 然后数值积分。 , 初始问题算法的构造是微分方程( ) 积分方程: ( ) ( ) ( ) (5- 4) ( ) ( ) ( ( ), ) 0,1,2, . (5-3) * 5 -1 1 1 1 1 n n n n n n n n t t n n x t x t h x t h t t x t x t f x t t dt n n n 则称之为单步算法。否 则为多步算法。 定义:若计算 只用到前面一步信息 即算法是 ( , , ) , 1 1 n n n n n n n n x x h x t h x x
边值问题的算法构造方法很多,有差分方法、 有限元法等。差分法的例子: x"+(1-x2)x2+x=f(,0<t<1 x(0)=0,x(1)=1 →x(t1)≈(x+1-x) h 2(x-1-)xx+1 ,x(1)=,2( →n2(x1-2x1+x+1)+(1-x)(x+-x1)+x1=J(t) i=1:n-1 0,( h 由此解出x,x,…,xn
, , , . ( ) 1 1 0, 1: 1 ( ) ( ) 1 ( 2 ) (1 ) 1 ( 2 ) 1 ( ), ( ) 1 ( ) (0) 0, (1) 1 (1 ) ( ),0 1 * 0 1 0 1 1 2 1 1 2 1 1 2 1 2 n n n i i i i i i i i i i i i i i i x x x x x h x i n x x x f t h x x x x h x x x h x x x t h x t x x x x x x f t t 由此解出 有限元法等。差分法的 例子: 边值问题的算法构造方 法很多,有差分方法、
本章只介绍初始问题的解法,原因是初始问题系统科学中 研究的最重要的问题。 §52初始问题的单步法 、欧拉法 显式欧拉法 n+1 X+ n=0,1,2, 其中,hn=tn+1-tn,fn=f(xn,n) 局部截断误差:Tn+1=x(tn+1)-x(tn+1) x(tn+=x(tn)+hnf(x(tn), tn) X n+1 h2 ll
本章只介绍初始问题的解法,原因是初始问题系统科学中 研究的最重要的问题。 §5.2 初始问题的单步法 !! 2 ( ) ( ) ( ) ( ( ), ) ~ ( ) ~ ( ) , ( , ) 0,1,2, 1 2 1 1 1 1 1 1 1 n n n n n n n n n n n n n n n n n n n n h x T x t x t h f x t t T x t x t h t t f f x t n x x h f 局部截断误差: 其中, 、显式欧拉法 一、欧拉法
总体误差: ern+1=x(tn+1-xn+ =x(tn+1)-x(tn+1)+x(tn+1)-xn+1 n+1 n+1 x(tn)-xn+hnff(x(tn), tn)-f(n, tnD) x(n+1)-xn+<x(tn)-xn +h, Lx(tn)-Xnk x(tn+1)-Xn+ s(1+h,D)x(tn)-n lern+< In+ +(1+hn D)err 其中,L为李布希兹常数
其中, 为 的李布希兹常数 总体误差: L f err T h L err x t x h L x t x x t x x t x h L x t x x t x h f x t t f x t x t x x t x t x t x err x t x n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n (1 ) ( ) (1 ) ( ) ~ ( ) ( ) ( ) ~ ( ) ( ( ( ), ) ( , )) ( ) ~ ( ) ~ ( ) ~ ( ) ( ) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
设h=max(h,k=1:m),M2=max(x(),1≤t≤1+) 则nl≤M2h2,及 lerr n+1 ≤"2h2+(1+M)ern ≤2h2(∑(1+h))+(1+hL)+er k=0 lenn+1 M2n2(1+hL)y+1-1M2(p n+IhL 2L T)h ∴er O 以上说明显式欧拉法是一阶收敛的算法
( ) !! ( 1) 2 (1 ) 1 2 ( (1 ) ) (1 ) 2 (1 ) 2 , 2 max( , 1: ), max( ( ), ), 1 2 ( 1) 1 2 2 1 0 1 0 2 2 2 2 1 2 2 1 2 0 1 err o h e h L M hL hL h M err h hL hL err M h hL err M err h M T h h k n M x t t t t n n hL n n n n k k n n n k n 则 及 设 以上说明显式欧拉法是一阶收敛的算法
2、隐式欧拉法 Jxn+1=xn+hn, f(xn+1, n+1) n=0,1,2, 阶收敛的方法,即ern+l=o(h 3、改进的欧拉法(隐式) Jxn+l=xn+ h,[f(xns, n)+f(xn+1, tn+1)] 0.1 二阶收敛的方法,即ernl=0(h2)
2、隐式欧拉法 二阶收敛的方法,即 。 、改进的欧拉法(隐式 ) 一阶收敛的方法,即 ( ) 0,1,2, [ ( , ) ( , )] 3 ( ) 0,1,2, ( , ) 2 1 1 1 1 1 1 1 1 err o h n x x h f x t f x t err o h n x x h f x t n n n n n n n n n n n n n n
龙格-库塔法(RK) 我们的目的是构造更高阶的单步法! 结论:若单步法的局部截断误差Tn+1=O(hP+),则此单 步法的整体误差/ern+l=o(h)即此单步法为p阶方法 分析:由x(tn+)=x(n)+"f(x(,1 利用拉格朗日求积公式 h=tn+1-tn,=1n+a1h,0≤a1≤1,=0:m "f(x().)h=∑c/(x(7),r)+Ohm2) 令k=f(x(),r),j=0:m x(n1)2=x(n)+∑c/k+0(hm2)…(*)
二、龙格-库塔法(RK) 我们的目的是构造更高阶的单步法! 步法的整体误差 即此单步法为 阶方法。 结论:若单步法的局部 截断误差 则此单 err o h p T o h p n p n ( ). ( ), 1 1 1 ( ) ( ) (*) ( ( ), ), 0 : . ( ( ), ) ( ( ), ) , ,0 1, 0 : ( ) ( ) ( ( ), ) 2 0 1 2 0 1 1 1 1 x t x t c k o(h ) k f x r r j m f x t t dt c f x r r o(h ) h t t r t a h a i m x t x t f x t t dt m m j n n j j j j j m m j j j j t t n n i n i i t t n n n n n n 令 利用拉格朗日求积公式 分析:由
取 则k0=f( x(tu).t x(r)=x(r1-1)+(a )hk1-1+ =x(n)+b∑(a1-a1)k1-1+O(h2) x(Gn)+b∑bnk1b待定 k,=f(x(tn)+h2bjiki-1,tn +a,h)
1: (**) ( ( ) , ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ( ), ), 1 1 1 1 2 1 1 1 1 1 1 0 0 j m k f x t h b k t a h x t h b k b x t h a a k o h x r x r a a hk r t k f x t t n j j i j n ji i ji j i n ji i j i n i i i j j j j j n n n 待定 取 ,则
由式(*)和式(*)可知:适当选取参数c,a1,b可构造出m阶 的显式单步法: xn+1=xn+〉cnk, =0 ko=f(n, tn) k=f(x+b∑bnk1,+anh) j=1:m 称此结构为m+1级龙格-库塔法。它最多是m+1阶的
的显式单步法: 由式( *)和式( **)可知:适当选取参数 c j , a j ,bji可构造出 m 1阶 m j xn xn c jk j 0 1 1: ( , ) ( , ) 1 1 0 j m k f x h b k t a h k f x t n j j i j n ji i n n 称此结构为m+1级龙格-库塔法。它最多是m+1阶的