预备知识 一维波动方程,Matlab 的判断与循环
式 5)
\begin{equation}
\frac{\partial^{2}{y}}{\partial{x}^{2}} - \frac{1}{c^2} \frac{\partial^{2}{y}}{\partial{t}^{2}} = 0
\end{equation}
其中 $y(x, t)$ 是坐标和时间的函数.这里介绍一个简单的有限差分(finite difference)法,即把空间 $x$ 和时间 $t$ 划分成等距离的网格 $x_1, \dots, x_{Nx}$ 和 $t_1, \dots, t_{Nt}$,步长分别为 $\Delta x$ 和 $\Delta t$.我们将每个格点处的函数值记为 $y_{i,n} = y(x_i, t_n)$
有了网格以后,我们可以用有限差分表示二阶导数(式 5)得
\begin{equation}
\frac{y_{i-1,n} - 2y_{i,n} + y_{i+1,n}}{\Delta x^2} - \frac{1}{c^2} \frac{y_{i, n-1} - 2y_{i, n} + y_{i, n+1}}{\Delta t^2} = 0
\end{equation}
整理得
\begin{equation}
y_{i, n+1} = 2y_{i, n} - y_{i, n-1} + C^2(y_{i-1,n} - 2y_{i,n} + y_{i