本博客接下来要讲解不动点迭代法数值求解泊松方程,但是要先介绍一下微分方程离散化的相关知识。

对于大多数(常、偏)微分方程,我们无法得到解析解。因此,数值解法成为解决实际问题的重要手段。当我们要数值求解微分方程时,第一步通常是将微分方程进行离散化。离散化的目的是将连续的微分方程转化为离散的差分方程,以便用数值方法求解。微分方程离散化方法有很多,下面我将详细介绍有限差分法


差分法

我们回顾一下高等数学中导数的定义,在微积分中,用差分的极限定义导数;在数值计算中,导数用差分(平均变化率)作为近似值。

一阶差分

一阶导的一个简单近似如下:

该式称为差分的向前形式。计算一下近似误差,将 点做泰勒展开:

因此,


同样的有向后形式:

误差为:


将差分的向前向后形式做一个平均可以发现:

该式称作差分的中心(或者中点)形式,该形式有着更小的误差,下面证明:

因此


二阶差分

用相同的方法可以构造更高阶的差分形式,下面是二阶导的二阶差分近似:


待定系数法生成差分形式

从上面的二阶差分形式可以看出, 的差分形式是由 附近的点 生成的,现在介绍一种方法来确定他们的系数——待定系数法。该方法可以用来确定更高阶导数的差分形式。

假定:

泰勒展开

其中


的系数相等

因此

相应的误差也可以得到:


其它生成差分形式和微分方程离散化的方法就不过多介绍。下一次我会讲 Mathematica 中微分方程离散化的命令以及各种差分形式。