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\) 進行系數合並
根據上式以及邊界條件可把差分格式寫成線性方程組,與之前線性方程組方程形式一致,仍然采用追趕法求解。