0%

差分格式截断误差

差分格式截断误差

二阶混合偏导数 2uxy\frac{\partial^2 u}{\partial x \partial y} 的差分格式的截断误差可以通过对泰勒级数展开进行分析得到。假设 u(x,y)u(x,y) 在所考虑的点 (xi,yj)(x_i, y_j) 具有足够的光滑性,即其各阶偏导数都存在且连续。我们以中心差分格式为例来分析截断误差。

对于点 (xi,yj)(x_i, y_j),选择相邻的四个点 (xi+h,yj)(x_i + h, y_j)(xih,yj)(x_i - h, y_j)(xi,yj+k)(x_i, y_j + k)、和 (xi,yjk)(x_i, y_j - k)。其中 hhkk 分别是 xxyy 方向的步长。

中心差分格式计算二阶混合偏导数的公式为:

2uxy(xi,yj)u(xi+h,yj+k)u(xi+h,yjk)u(xih,yj+k)+u(xih,yjk)4hk\frac{\partial^2 u}{\partial x \partial y} \bigg|_{(x_i, y_j)} \approx \frac{u(x_i + h, y_j + k) - u(x_i + h, y_j - k) - u(x_i - h, y_j + k) + u(x_i - h, y_j - k)}{4hk}

为了分析截断误差,我们对 u(x,y)u(x, y) 在点 (xi,yj)(x_i, y_j) 附近进行泰勒展开:

u(xi+h,yj+k)=u(xi,yj)+hux+kuy+h22uxx+k22uyy+hkuxy+h36uxxx+k36uyyy+h2k2uxxy+hk22uxyy+,u(xi+h,yjk)=u(xi,yj)+huxkuy+h22uxx+k22uyyhkuxy+h36uxxxk36uyyy+h2k2uxxyhk22uxyy+,u(xih,yj+k)=u(xi,yj)hux+kuy+h22uxx+k22uyyhkuxyh36uxxx+k36uyyyh2k2uxxy+hk22uxyy+,u(xih,yjk)=u(xi,yj)huxkuy+h22uxx+k22uyy+hkuxyh36uxxxk36uyyyh2k2uxxyhk22uxyy+.\begin{aligned} u(x_i + h, y_j + k) &= u(x_i, y_j) + h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} + \frac{h^3}{6} u_{xxx} + \frac{k^3}{6} u_{yyy} + \frac{h^2 k}{2} u_{xxy} + \frac{hk^2}{2} u_{xyy} + \cdots, \\ u(x_i + h, y_j - k) &= u(x_i, y_j) + h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} + \frac{h^3}{6} u_{xxx} - \frac{k^3}{6} u_{yyy} + \frac{h^2 k}{2} u_{xxy} - \frac{hk^2}{2} u_{xyy} + \cdots, \\ u(x_i - h, y_j + k) &= u(x_i, y_j) - h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} - \frac{h^3}{6} u_{xxx} + \frac{k^3}{6} u_{yyy} - \frac{h^2 k}{2} u_{xxy} + \frac{hk^2}{2} u_{xyy} + \cdots, \\ u(x_i - h, y_j - k) &= u(x_i, y_j) - h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} - \frac{h^3}{6} u_{xxx} - \frac{k^3}{6} u_{yyy} - \frac{h^2 k}{2} u_{xxy} - \frac{hk^2}{2} u_{xyy} + \cdots. \end{aligned}

将上述四个表达式代入差分公式中:

u(xi+h,yj+k)u(xi+h,yjk)u(xih,yj+k)+u(xih,yjk)4hk=[u(xi,yj)+hux+kuy+h22uxx+k22uyy+hkuxy+][u(xi,yj)+huxkuy+h22uxx+k22uyyhkuxy+]4hk[u(xi,yj)hux+kuy+h22uxx+k22uyyhkuxy+][u(xi,yj)huxkuy+h22uxx+k22uyy+hkuxy+]4hk=u(xi,yj)+hux+kuy+h22uxx+k22uyy+hkuxy(u(xi,yj)+huxkuy+h22uxx+k22uyyhkuxy)4hku(xi,yj)hux+kuy+h22uxx+k22uyyhkuxy(u(xi,yj)huxkuy+h22uxx+k22uyy+hkuxy)4hk=2hkuxy4hk=uxy\begin{aligned} &\frac{u(x_i + h, y_j + k) - u(x_i + h, y_j - k) - u(x_i - h, y_j + k) + u(x_i - h, y_j - k)}{4hk} \\ &= \frac{\left[ u(x_i, y_j) + h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} + \cdots \right] - \left[ u(x_i, y_j) + h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} + \cdots \right]}{4hk} \\ &\quad - \frac{\left[ u(x_i, y_j) - h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} + \cdots \right] - \left[ u(x_i, y_j) - h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} + \cdots \right]}{4hk} \\ &= \frac{u(x_i, y_j) + h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} - \left( u(x_i, y_j) + h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} \right)}{4hk} \\ &\quad - \frac{u(x_i, y_j) - h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} - \left( u(x_i, y_j) - h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} \right)}{4hk} \\ &= \frac{2hk u_{xy}}{4hk} = u_{xy} \end{aligned}

由此可见,中心差分格式的截断误差为 O(h2+k2)\mathcal{O}(h^2 + k^2)。即二阶混合偏导数的中心差分格式的截断误差是二阶的,相对于步长 hhkk 是二次方的。

好的,接下来我们详细计算中心差分格式的截断误差。

首先,我们对 u(xi±h,yj±k)u(x_i \pm h, y_j \pm k) 进行泰勒展开:

u(xi+h,yj+k)=u(xi,yj)+hux+kuy+h22uxx+k22uyy+hkuxy+h36uxxx+k36uyyy+h2k2uxxy+hk22uxyy+O(h4,k4),u(xi+h,yjk)=u(xi,yj)+huxkuy+h22uxx+k22uyyhkuxy+h36uxxxk36uyyy+h2k2uxxyhk22uxyy+O(h4,k4),u(xih,yj+k)=u(xi,yj)hux+kuy+h22uxx+k22uyyhkuxyh36uxxx+k36uyyyh2k2uxxy+hk22uxyy+O(h4,k4),u(xih,yjk)=u(xi,yj)huxkuy+h22uxx+k22uyy+hkuxyh36uxxxk36uyyyh2k2uxxyhk22uxyy+O(h4,k4).\begin{aligned} u(x_i + h, y_j + k) &= u(x_i, y_j) + h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} + \frac{h^3}{6} u_{xxx} + \frac{k^3}{6} u_{yyy} + \frac{h^2 k}{2} u_{xxy} + \frac{h k^2}{2} u_{xyy} + O(h^4, k^4), \\ u(x_i + h, y_j - k) &= u(x_i, y_j) + h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} + \frac{h^3}{6} u_{xxx} - \frac{k^3}{6} u_{yyy} + \frac{h^2 k}{2} u_{xxy} - \frac{h k^2}{2} u_{xyy} + O(h^4, k^4), \\ u(x_i - h, y_j + k) &= u(x_i, y_j) - h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} - \frac{h^3}{6} u_{xxx} + \frac{k^3}{6} u_{yyy} - \frac{h^2 k}{2} u_{xxy} + \frac{h k^2}{2} u_{xyy} + O(h^4, k^4), \\ u(x_i - h, y_j - k) &= u(x_i, y_j) - h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} - \frac{h^3}{6} u_{xxx} - \frac{k^3}{6} u_{yyy} - \frac{h^2 k}{2} u_{xxy} - \frac{h k^2}{2} u_{xyy} + O(h^4, k^4). \end{aligned}

将这些展开式代入中心差分公式:

u(xi+h,yj+k)u(xi+h,yjk)u(xih,yj+k)+u(xih,yjk)4hk\frac{u(x_i + h, y_j + k) - u(x_i + h, y_j - k) - u(x_i - h, y_j + k) + u(x_i - h, y_j - k)}{4hk}

计算差分:

[u(xi,yj)+hux+kuy+h22uxx+k22uyy+hkuxy+h36uxxx+k36uyyy+h2k2uxxy+hk22uxyy+O(h4,k4)]4hk[u(xi,yj)+huxkuy+h22uxx+k22uyyhkuxy+h36uxxxk36uyyy+h2k2uxxyhk22uxyy+O(h4,k4)]4hk[u(xi,yj)hux+kuy+h22uxx+k22uyyhkuxyh36uxxx+k36uyyyh2k2uxxy+hk22uxyy+O(h4,k4)]4hk+[u(xi,yj)huxkuy+h22uxx+k22uyy+hkuxyh36uxxxk36uyyyh2k2uxxyhk22uxyy+O(h4,k4)]4hk=4hkuxy+higher order terms4hk=uxy+O(h2)+O(k2).\begin{aligned} &\frac{\left[ u(x_i, y_j) + h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} + \frac{h^3}{6} u_{xxx} + \frac{k^3}{6} u_{yyy} + \frac{h^2 k}{2} u_{xxy} + \frac{h k^2}{2} u_{xyy} + O(h^4, k^4) \right]}{4hk} \\ &- \frac{\left[ u(x_i, y_j) + h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} + \frac{h^3}{6} u_{xxx} - \frac{k^3}{6} u_{yyy} + \frac{h^2 k}{2} u_{xxy} - \frac{h k^2}{2} u_{xyy} + O(h^4, k^4) \right]}{4hk} \\ &- \frac{\left[ u(x_i, y_j) - h u_x + k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} - hk u_{xy} - \frac{h^3}{6} u_{xxx} + \frac{k^3}{6} u_{yyy} - \frac{h^2 k}{2} u_{xxy} + \frac{h k^2}{2} u_{xyy} + O(h^4, k^4) \right]}{4hk} \\ &+ \frac{\left[ u(x_i, y_j) - h u_x - k u_y + \frac{h^2}{2} u_{xx} + \frac{k^2}{2} u_{yy} + hk u_{xy} - \frac{h^3}{6} u_{xxx} - \frac{k^3}{6} u_{yyy} - \frac{h^2 k}{2} u_{xxy} - \frac{h k^2}{2} u_{xyy} + O(h^4, k^4) \right]}{4hk} \\ &= \frac{4hk u_{xy} + \text{higher order terms}}{4hk} \\ &= u_{xy} + O(h^2) + O(k^2). \end{aligned}

因此,二阶混合偏导数 2uxy\frac{\partial^2 u}{\partial x \partial y}的中心差分格式的截断误差为O(h2)+O(k2)\mathcal{O}(h^2) + O(k^2)。这意味着误差项主要由二次项构成。具体来说,截断误差的形式为:

截断误差=C1h2+C2k2+O(h3,k3)\text{截断误差} = C_1 h^2 + C_2 k^2 + O(h^3, k^3)

其中,C1C_1C2C_2 是与 $ u $ 的三阶及更高阶导数有关的系数。