二阶常微分方程的数值解法(中心差分法和有限体积法)
这里我们介绍中心差分法和有限体积法求解方程。
题目:
用差分法的中心差分格式和有限体积法求解两点边值问题
u ′ ′ − α ( 2 x − 1 ) u ′ − 2 α u = 0 , 0 < x < 1 u ( 0 ) = u ( 1 ) = 1 , u^{\prime\prime}-\alpha\left(2x-1\right)u^\prime-2\alpha u=0,0<x<1 u\left(0\right)=u\left(1\right)=1, u′′−α(2x−1)u′−2αu=0,0<x<1u(0)=u(1)=1,
其中,参数 α = 10 \alpha=10 α=10,得到不同网格最大误差和收敛阶。
问题分析
Step 1:网格剖分:首先取 N + 1 个节点为: a = x 0 < x 1 < x 2 < ⋯ < x N = b a=x_0<x_1<x_2<\cdots<x_N=b a=x0<x1<x2<⋯<xN=b,
将区间 [a,b] 作等距剖分,划分为 N 个小区间,记 h = x i + 1 − x i , i = 1 , 2 , ⋯ , N − 1 h=x_{i+1}-x_i,i=1,2,\cdots,N-1 h=xi+1−xi,i=1,2,⋯,N−1为网格步长.再进行对偶剖分:取相邻节点 x i + 1 , x i x_{i+1} ,x_i xi+1,xi 的中点 x i + 1 2 = 1 2 ( x i + 1 − x i ) , i = 1 , 2 , ⋯ , N − 1. x_{i+\frac{1}{2}}=\frac{1}{2}\left(x_{i+1}-x_i\right),i=1,2,\cdots,N-1. xi+21=21(xi+1−xi),i=1,2,⋯,N−1.由这些节点构成的剖分为对偶剖分.
(i)中心差分法:
1 h 2 ( u i + 1 − 2 u i + u i − 1 ) − α ( 2 x i − 1 ) 2 h ( u i + 1 − u i − 1 ) − 2 α u i = 0 \frac{1}{h^2}\left(u_{i+1}-2u_i+u_{i-1}\right)-\frac{\alpha\left(2x_i-1\right)}{2h}\left(u_{i+1}-u_{i-1}\right)-2\alpha u_i=0 h21(ui+1−2ui+ui−1)−2hα(2xi−1)(ui+1−ui−1)−2αui=0
⇒ \Rightarrow ⇒
( 1 h 2 − r i ) u i + 1 + ( − 2 h 2 − 2 α ) u i + ( 1 h 2 + r i ) u i − 1 = 0 \left(\frac{1}{h^2}-r_i\right)u_{i+1}+\left(-\frac{2}{h^2}-2\alpha\right)u_i+\left(\frac{1}{h^2}+r_i\right)u_{i-1}=0 (h21−ri)ui+1+(−h22−2α)ui+(h21