如何用中点法求解转化为一阶系统的阻尼谐振子ODE?
阻尼谐振子二阶ODE的中点法数值求解
咱们来一步步拆解这个问题:
原二阶常微分方程(ODE)
首先给出待求解的阻尼谐振子二阶ODE及初始条件:
$$x'' + 2\gamma x' + \omega^2 x = 0, \quad x(0)=x_0, \quad x'(0)=-\gamma x_0$$
欠阻尼情形的精确解
当满足欠阻尼条件 $0 < \gamma < \omega$ 时,这个方程有解析的精确解:
$$x(t)= x_0 e^{-\gamma t} \cos(\beta t)$$
其中 $\beta$ 的定义为:
$$\beta:=\sqrt{\omega^2 - \gamma^2}$$
转化为一阶微分方程组
为了用数值方法求解,咱们可以通过变量替换把二阶ODE转化为一阶系统:
- 令 $x' = y$,那么原方程的二阶导数项可以替换为 $y'$
- 代入原方程整理后,得到一阶方程组:
$$
\begin{cases}
x' = y \
y' = -2\gamma y - \omega^2 x
\end{cases}
$$
中点法求解公式
针对这个一阶系统,咱们使用中点法进行数值求解,对应的公式为:
$$\dfrac{ x_{n+1} - x_{n-1} }{2h} = y_n$$
内容的提问来源于stack exchange,提问作者Dragonite
相关产品推荐
相关产品推荐

