2.2 差分格式
列出几个常用的数值微分公式。
引理 2.2.1
设 \(h>0\) 和 \(c\) 为常数
- 如果 \(g(x) \in C^2[c-h, c+h]\),则有
\[g(c) = \frac{1}{2} [g(c-h) + g(c+h)] - \frac{h^2}{2} g''(\xi_0), \quad c - h < \xi_0 <c+h; \tag{2.2.1} \]
- 如果 \(g(x) \in C^2[c, c+h]\),则有
\[g'(c) = \frac{1}{h} [g(c+h) - g(c)] - \frac{h}{2} g''(\xi_1), \quad c < \xi_1 <c+h; \tag{2.2.2} \]
- 如果 \(g(x) \in C^2[c-h, c]\),则有
\[g'(c) = \frac{1}{h} [g(c) - g(c-h)] + \frac{h}{2} g''(\xi_2), \quad c - h < \xi_2 <c; \tag{2.2.3} \]
- 如果 \(g(x) \in C^3[c-h, c+h]\),则有
\[g'(c) = \frac{1}{2h} [g(c+h) - g(c-h)] - \frac{h^2}{6} g'''(\xi_3), \quad c - h < \xi_3 <c+h; \tag{2.2.4} \]
- 如果 \(g(x) \in C^4[c-h, c+h]\),则有
\[g''(c) = \frac{1}{h^2} [g(c+h) - 2g(c) + g(c-h)] - \frac{h^2}{12} g^{(4)}(\xi_4), \quad c - h < \xi_4 <c+h; \tag{2.2.5} \]
- 如果 \(g(x) \in C^3[c, c+h]\),则有
\[g''(c) = \frac{2}{h} \left[\frac{g(c+h) - g(c)}{h} - g'(c) \right] - \frac{h}{3} g'''(\xi_5), \quad c < \xi_3 <c+h; \tag{2.2.6} \]
- 如果 \(g(x) \in C^6[c-h, c+h]\),则有
\[\frac{1}{12} [g''(c-h) + 10g''(c) + g''(c+h)] = \frac{1}{h^2} [g(c+h) - 2g(c) + g(c-h)] + \frac{h^4}{240} g^{(6)}(\xi_6), \quad c - h < \xi_6 <c+h; \tag{2.2.7} \]
2.2.1 差分格式的建立
(1) 建立差分格式
无特殊说明,均假设所考虑的微分方程定解问题存在具有所需阶数的光滑解。
用有限差分法解两点边值问题的第一步是将求解区间 \([a,b]\) 进行网格剖分。将区间 \([a,b]\) 做 \(m\) 等分。
记网格步长
记网格格点
记网格
称定义在网格 \(\Omega_h\) 上的函数为网格函数。设 \(v=\{ v_i \, | \, 0\leqslant i \leqslant m\}\) 为 \(\Omega_h\) 上的网格函数,记
现在我们在网格格点上考虑定解问题 \((2.1.1)\) 和 \((2.1.2)\),有
定义网格函数 \(U = \{ U_i | \, U_i = u(x_i), \, 0 \leqslant i \leqslant m\}\),由式 \((2.2.5)\) 可得
得到
忽略小量项 \(- \frac{h^2}{12} u^{(4)}(\xi_i)\),有如下近似等式:
在上式中用 \(u_i\) 代替 \(U_i\),并用 \(=\) 代替 \(\approx\),可得
将式 \((2.2.14)\) 和式 \((2.2.15)\) 称为求解问题 \((2.1.1)\) 和 \((2.1.2)\) 的差分格式。建立差分格式的过程称为离散化过程。
(2) 局部截断误差
式 \((2.2.14)\) 和式 \((2.2.15)\) 中共有 \(m+1\) 个方程,\(m+1\) 个待定量 \(u_0\),\(u_1\),\(\cdots\),\(u_m\)。最后的目标是求出 \((u_0, u_1, \cdots, u_m)\),然后用求得的 \(u_i\) 作为 \(u(x_i)\) 的近似值。
如果我们在 \((2.2.14)\) 式中用精确的 \(U_i\) 去代替 \(u_i\),则我们只能得到近似等式 \((2.2.12)\),称两边的差为局部截断误差。即下式:
一般来说,\(R_i\) 与 \(h\) 相关,即 \(R_i = R_i(h)\),又由 \((2.2.10)\) 可知
上式表明局部截断误差恰好是建立差分格式时丢掉的小量项,它反映了差分格式 \((2.2.14)\) 对原方程的近似程度。
当上式成立时,我们称差分格式 \((2.2.14)\) 和 \((2.2.15)\) 与微分方程 \((2.1.1)\) 和 \((2.1.2)\) 是相容的(相容性)。
差分格式建立后,我们自然会问,差分格式是否存在解(存在性)?差分格式如果存在解,解是否唯一(唯一性)?差分格式的解能否作为微分方程定解问题的近似解(收敛性)?计算过程中的误差对解的影响如何(稳定性)?此外,我们将存在性、唯一性和稳定性统称为适定性。我们可以根据需求在不同的函数空间中提出适当的适定性要求。
2.2.2 差分格式的求解
将式 \((2.2.14)\) 两边同乘以 \(h^2\),可得
进一步得到
对差分格式表示式 \((2.2.14)\) 和式 \((2.2.15)\),用矩阵可重新表示为
上述矩阵为三对角矩阵,可以使用追赶法进行求解。
2.2.3 差分格式解的先验估计式
差分格式解的先验估计式在差分格式的分析中起着关键的作用。
记
设 \(v \in V_h\),引进如下记号
则 \(\| v \|_{\infty}\),\(\| v \|\) 和 \(\| v \|_1\) 均为 \(V_h\) 上的范数,分别成为无穷范数,\(2\) 范数和 \(H_1\) 范数。其中,\(|v|_1\) 是 \(V_h\) 上的半范数,但为 \(\mathring{V}_h\) 上的范数,称为差商的 \(2\) 范数。
引理 2.2.2
- 设 \(u = \{u_i\, | \, 0 \leqslant i \leqslant m\} \in V_h\),\(v=\{ v_i \, | \, 0 \leqslant i \leqslant m \} \in V_h\),则有
\[-h \sum_{i=1}^{m-1}(\delta_x^2 u_i) v_i = h \sum_{i=1}^m (\delta_x u_{i-\frac{1}{2}}) (\delta_x v_{i-\frac{1}{2}}) + D_+ u_0 v_0 - D_- u_m v_m \tag{2.2.16} \]
- 设 \(v \in \mathring{V}_h\),则有
\[h \sum_{i=1}^{m-1} (-\delta_x^2 u_i) v_i = | v |_1^2 \tag{2.2.17} \]
- 设 \(v \in \mathring{V}_h\),则有
\[\| v \|_{\infty} \leqslant \frac{\sqrt{b-a}}{2} |v|_1 , \quad \| v \| \leqslant \frac{b-a}{\sqrt{6}} |v|_1 \tag{2.2.18} \]
- 设 \(v \in \mathring{V}_h\),则对任意 \(\varepsilon > 0\) 有
\[\| v \|_{\infty}^2 \leqslant \varepsilon |v|_1^2 + \frac{1}{4 \varepsilon} \| v \|^2 , \quad \tag{2.2.19} \]
- 设 \(v \in V_h\),则
\[| v |_1^2 \leqslant \frac{4}{h^2} \| v \|^2 \tag{2.2.20} \]\[\| v \|_{\infty}^2 \leqslant \varepsilon |v|_1^2 + \left( \frac{1}{\varepsilon} + \frac{1}{b-a}\right) \| v \|^2 \tag{2.2.21} \]
根据上述引理中给出的不等式,我们估计差分格式的数值解。
定理 2.2.1
设 \(v = \{ v_i \, | \, 0 \leqslant i \leqslant m\}\) 为下述差分格式的解
\[-\delta_x^2 v_i + q(x_i) v_i = f_i, \quad 0 \leqslant i \leqslant m \tag{2.2.22} \]\[v_0 = 0, \quad v_m = 0 \tag{2.2.23} \]则有
\[|v|_1 \leqslant \frac{b-a}{\sqrt{6}} \| f \| \tag{2.2.24} \]\[\| v \|_{\infty} \leqslant \frac{(b-a)^2}{2\sqrt{6}} \| f \|_{\infty} \tag{2.2.25} \]其中,
\[\| f \| = \sqrt{h \sum_{i=1}^{m-1} f_i^2}, \quad\| f \|_{\infty} = \max_{1 \leqslant i \leqslant m-1} |f_i| \]
证明: 将式 \((2.2.22)\) 两边同乘以 \(h v_i\),并对 \(i\) 求和,得到
由引理 \(2.2.2\) 得到
又 \(q(x) \geqslant 0\),故
由 \(\text{Cauchy-Schwarz}\) 不等式,有
因此有
得到
此外,根据引理 \(2.2.2\) 中第三点可以得到
证毕。
2.2.4 差分格式解的存在唯一性
我们给出差分格式解的存在唯一性定理。
定理 2.2.2
差分格式 \((2.2.14)\) 与 \((2.2.15)\) 的解是存在唯一的。
证明:考虑差分格式 \((2.2.14)\) 与 \((2.2.15)\)
本质是个线性方程组,且该线性方程组的未知数个数等于方程个数等于 \(m-1\),因此只要证明系数矩阵可逆或者证明相应的齐次线性方程组只有零解。
令上式的 \(f(x_i)=0\),\(\alpha=0\),\(\beta=0\),此时线性方程组右端项为零,由差分解的先验估计式定理 \(2.2.1\) 得 \(\| u \|_{\infty} = 0\),因此齐次线性方程组只有零解,差分格式解存在唯一。
2.2.5 差分格式解的收敛性和稳定性
根据解的先验估计式给出关于差分格式解的收敛性和稳定性一些解释。
(1) 收敛性
定理 2.2.3
设 \(\{ u(x) \, | \, a \leqslant x \leqslant b\}\) 为定解问题 \((2.1.1)\) 和 \((2.2.2)\)的解,\(\{u_i \, | \, 0 \leqslant i \leqslant m\}\) 为差分格式 \((2.1.14)\) 和 \((2.1.15)\) 的解,记
\[e_i = u(x_i) - u_i, \quad 0 \leqslant i \leqslant m \]则有
\[\| e \|_{\infty} \leqslant \frac{M_4 (b-a)^2}{24 \sqrt{6}} h^2, \quad M_4 = \max_{a \leqslant x \leqslant b} |u^{(4)}(x)| \]
证明:
将式 \((2.2.10)\),\((2.2.11)\) 与式 \((2.2.14)\),\((2.2.15)\) 相减得误差方程
由差分格式先验估计式定理 \(2.2.1\) 得
证毕。
定义 2.2.1
如果 \(\| e \|_{\infty} = O(h^p)\),则称差分格式在范数 \(\| \cdot \|\) 下是 \(p\) 阶收敛的。
由定义知,差分格式 \((2.2.14)\),\((2.2.15)\) 在无穷范数 \(\| \cdot \|_{\infty}\) 下是二阶收敛的。
(2) 稳定性
实际计算中,误差不可避免。例如计算 \(f(x_i)\) 时可能会有一个小的误差 \(g_i\),考虑差分格式如下:
设 \(v = (v_0, v_1, \cdots, v_m)\) 为上述差分方程的解。
记
将式 \((2.2.27)\),\((2.2.28)\) 与式 \((2.2.14)\),\((2.2.15)\) 相减,得
称式 \((2.2.29)\),\((2.2.30)\) 为摄动方程。它的形式与式 \((2.2.14)\),\((2.2.15)\) 类似。由差分格式先验估计式定理 \(2.2.1\),有
由上式可以看出当右端项很小时,\(\|\varepsilon\|_{\infty}\) 也很小。由此归纳为如下定理:
定理 2.2.4
差分格式 \((2.2.14)\),\((2.2.15)\) 在下述意义下对右端函数是稳定的:给定差分格式
\[- \delta_x^2 u_i + q(x_i) u_i = f_i, \quad 1 \leqslant i \leqslant m - 1 \]\[u_0 = 0, \quad u_m = 0 \]记 \(\{ u_i \, | \, 0 \leqslant i \leqslant m\}\) 为上述差分格式的解,则有
\[\| u \|_{\infty} \leqslant \frac{(b-a)^2}{2 \sqrt{6}} \max_{1 \leqslant i \leqslant m - 1} |f_i| \]
2.2.6 Richardson 外推法
(1) 示例
设未知量 \(p\) 的一个近似式为 \(p_0(h)\),当 \(h \to 0\) 时,若 \(p_0(h)\) 与 \(p\) 之间的存在如下关系
其中 \(\alpha\) 为与 \(h\) 无关的非零常数,称上式为 \(p_0(h)\) 的一个渐进展开式。
称上式 \(p_0(h)\) 为 \(p\) 的二阶近似值。
在式 \((2.2.31)\) 中用 \(h/2\) 代替 \(h\),得到
可见 \(p_0(h/2)\) 也是 \(p\) 的一个二阶近似值。现在用 \(4 / 3\) 乘以式 \((2.2.32)\) 得到的式子减去 \(1 / 3\) 乘以式 \((2.2.31)\) 得到的式子,可得
取 \(p_1 (h)\) 作为 \(p\) 的又一近似值,可见它比 \(p_0(h/2)\) 和 \(p_0(h)\) 具有更高的误差项。
我们把 \((2.2.33)\) 称为 \(\text{Richardson}\) 外推公式,而把这种从低精度的近似值 \(p_0(h)\) 和 \(p_0(h/2)\) 经过线性组合得到高精度近似值的方法称为 \(\text{Richardson}\) 外推法。
(2) 差分方法中的外推法
在差分方法中,外推法也是有效的。记 \(h\) 为步长,所得差分格式 \((2.2.14)\) 和 \((2.2.15)\) 的解为 \(u_i(h),0\leqslant i \leqslant m\),我们有下述定理。
定理 2.2.5
给定两点边值问题
\[- w''(x) + q(x) w(x) = \frac{1}{12} u^{(4)}(x), \quad a < x < b \tag{2.2.34} \]\[w(x)=0, \quad w(b) = 0 \tag{2.2.35} \]设上述问题具有光滑解 \(u(x)\),则
\[\max_{0 \leqslant i \leqslant m} \left| u(x_i) - \left[ \frac{4}{3} u_{2i}\left( \frac{h}{2} \right) - \frac{1}{3} u_i (h)\right]\right| = O(h^4) \]其中,\(h\) 为步长,\(x_i = a+ih\)。
2.2.7 紧差分格式
(1) 紧差分格式的构造
考虑函数 \(u(x+h)\) 的展开
记 \(\mathrm{D}\) 为微分算子,上式可形式写成
由此可得
从而得
对上式两边求导可得
由以上两式得到
设 \(w = \{w_i \, | \, 0 \leqslant i \leqslant m\} \in V_h\),定义算子
在节点 \(x_i\) 处考虑微分方程
用算子 \(\mathcal{A}\) 作用到上式,得
由于
因此有
忽略小量项得到
用 \(u_i\) 代替 \(U_i\),结合边界条件,得到如下差分格式
可以证明差分格式 \((2.2.36)\),\((2.2.37)\) 是唯一可解的,并且上述差分格式在无穷范数下是四阶收敛的且是稳定的。
用 \(x_{i-1}\),\(x_i\),\(x_{i+1}\) 三点所构造的差分格式中差分格式 \((2.2.36)\),\((2.2.37)\) 的精度达到最高阶 \(O(h^4)\),称其为紧差分格式。
(2) 紧差分格式的求解
对式 \((2.2.36)\) 进行算子展开,得到
关于 \(u_i\) 进行系数合并
根据上式以及边界条件可把差分格式写成线性方程组,与之前线性方程组方程形式一致,仍然采用追赶法求解。