微分方程数值解 差分法解边值问题 陈文斌 multigridescicomput.com 复旦大学数学系 difference methods for BVP 2003, Fudan University, Chen Wenbin-p. 1/50
✁✂✄☎✆✝ ✞✁✟✝✠✆✡☛ ☞✌✍ multigrid@scicomput.com ✎✏✑✒☎✒✓ difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.1/50
TTest 50-25-15-10 difference methods for BVP 2003, Fudan University, Chen Wenbin-p. 2/50
Test 50-25-15-10 difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.2/50
BVP 常微分方程两点边值问题 d 2, +qu=f (b)+(b) (0) 这里g,f∈C0(a,b),q≥0下面我们用差分法来求解这 个边值问题 difference methods for BVP 2003, Fudan University, Chen Wenbin-p. 3/50
BVP Lu ≡ −d2u dx2 + qu = f, x ∈ (a, b) u(a) = α0, u0(b) + βu(b) = α1 (0) q, f ∈ C0([a, b]), q ≥ 0 difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.3/50
Difference Methods 区域的离散:将区间[a,分成N等分,分点为 a+ih,=0,1 h为步长,x;为节点 方程离散 边界条件的处理 difference methods for BVP 2003, Fudan University, Chen Wenbin-p. 4/50
Difference Methods [a, b] N x j = a + ih, i = 0, 1, . . . , N h x i difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.4/50
Difference Methods 方程离散:由 Taylor公式,在节点x;处 (x)=n2((x+1)-20(x)+(x+1 (52) 这里余项(截断误差)为 R()= 则在x处将微分方程写成 (c2:-1)-2u(x:)+u+(x;)u(x)=f(x)+R difference methods for BVP 2003, Fudan University, Chen Wenbin-p. 5/50
Difference Methods Taylor x i u 00 ( x i) = 1 h 2 ( u ( x i+1 ) − 2 u ( x i) + u ( x i+1)) − h 2 12 u(4) ( ξ i ) R i ( u) = − h 2 12 u(4) ( ξ i ) x i − u ( x i + 1) − 2 u ( x i) + u ( x i − 1 ) h 2 + q ( x i ) u ( x i) = f ( x i)+ R i difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.5/50
Difference Methods 舍弃余项,得到差分方程 2vl2+ +q2=f 我们在每个节点上建立方程 difference methods for BVP 2003, Fudan University, Chen Wenbin-p.6/50
Difference Methods L h u i ≡ − u i+1 − 2 u i + u i − 1 h 2 + q i u i = fi difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.6/50
Boundary Conditons 第一类边界条件u(a)=a0: 0=(a)=a0 第三类边界条件u(b)+6(b)=a1,这里主要处理导 数项u(b),一种方法: U 但是这样做使得边界上截断误差的精度(为O(h)低于 内点的逼近 difference methods for BVP 2003, Fudan University, Chen Wenbin-p. 7/50
Boundary Conditons u ( a) = α 0 u 0 = u ( a) = α 0 u 0 ( b) + βu ( b) = α 1 u 0 ( b ), u 0 ( b ) ≈ u N − u N − 1 h ( O ( h ) ) difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.7/50
Boundary Conditons 这里我们采用高阶的格式 (b)≈a( 2(32 4 这样可以得到关于另外一个边界节点的方程 21 (3N-4N-1+N-2)+N=a1 difference methods for BVP 2003, Fudan University, Chen Wenbin-p. 8/50
Boundary Conditons u 0 ( b ) ≈ 1 2 h(3 u N − 4 u N − 1 + u N − 2 ) 1 2 h(3 u N − 4 u N − 1 + u N − 2) + βu N = α 1 difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.8/50
Other equations 考虑二阶自共轭方程: d de +(x)(x)=f( 其中p(x)∈Ch([a,b)2p(x)≥pmn>0,g,f∈C0(a,b) 且q(x)≥0.作剖分 <1<…<x;<…<xN=b 取相邻节点的中点x==2(x2-1+)由这些半整数 点形成对偶剖分 =0<14号n<x-号<…<NmMb
Other equations − d dx p du dx + q ( x ) u ( x) = f ( x ) p ( x ) ∈ C 1([a, b]),p ( x ) ≥ pmin > 0,q, f ∈ C 0([a, b]) q ( x ) ≥ 0. a = x 0 < x 1 < · · · < x i < · · · < x N = b x x − 1 2 = 1 2 ( x i − 1 + x i ) a = x 0 < x 1 2 < x 3 2 < · · · < x i − 1 2 < · · · < x N − 1 2 < x N = b difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.9/50
Other equations 对于节点上的二阶导数,我们用半整数点上的一阶导数 来逼近,对于半整数点上的一阶导数,用整数点上的函 数值来逼近: d du (h+1+h)/2+0(h) da pla 24(1ax3 +g2=f hi+hi+1 述逼近的截断误差的阶是O(h 2003, Fudan University, Chen Wenbin-p. 10/50
Other equations − d dx p du dx xi = pdudx |xi− 1 2 − pdudx |xi+ 1 2 ( h i+1 + h i ) / 2 + O ( h ) p du dx xi− 1 2 = p ( x i − 1 2 ) u i − u i − 1 h i + h 2 i 24 p d 3 u dx 3 ( ξ i ) − 2 h i + h i+1 p i + 1 2 u i+1 − u i h i+1 − p i − 1 2 u i − u i − 1 h i +qu i = fi O ( h ) difference methods for BVP, 2003, Fudan University, Chen Wenbin – p.10/50