ODE 相平面分析工具 返回
Dynamical Systems

常微分方程式 — 相平面分析工具

实时可视化方向场、零线、RK4相轨迹和Jacobian稳定性分析。内置摆、捕食者-猎物、Van der Pol等主要模型。

系统选择
dx/dt = y
dy/dt = −sin(x) − 0.5y
参数
阻尼系数 b
参数 2
初始条件 (x₀, y₀)
x₀ =
y₀ =
显示范围 ±R
平衡点信息
计算结果
平衡点数
特征值 λ₁
稳定性
轨迹类型
相平面(方向场 · 轨迹 · 零线)
相图
Time

稳定性分类(Jacobian特征值)

平衡点 $(x^*, y^*)$ 处的线性化:$J = \begin{pmatrix}\partial f/\partial x & \partial f/\partial y \\ \partial g/\partial x & \partial g/\partial y\end{pmatrix}$

$\text{tr}(J) < 0,\ \det(J) > 0 \Rightarrow$ 稳定 | $\det(J) < 0 \Rightarrow$ 鞍点

RK4:$k_1=hf(t_n,y_n),\ k_2=hf(t_n+h/2,y_n+k_1/2),\ldots$

什么是相平面分析

🙋
「相平面分析」是什么?听起来好抽象啊。
🎓
简单来说,就是把一个系统(比如一个摆,或者捕食者和猎物数量的变化)的“状态”画在一张图上。这张图的横轴和纵轴分别代表系统的两个关键变量。这样一来,系统随时间的变化,就变成了图上一条移动的轨迹。试着拖动上面模拟器的“阻尼系数 b”滑块,你会看到整个平面上所有箭头的方向都变了,这就是系统的“方向场”,直观地告诉你系统在每个“状态”下会往哪个方向演化。
🙋
诶,真的吗?那图上那些交叉的线(零线)和那些静止的点(平衡点)又是干嘛的?
🎓
问得好!零线是“变化率为零”的线,它们是理解系统行为的地标。比如在捕食者-猎物模型中,零线交叉的地方就是平衡点,代表捕食者和猎物的数量达到一个暂时不变的状态。但关键不是它静止,而是它“稳不稳定”。你试着把“参数2”调大,可能会看到某个平衡点从“稳定焦点”(轨迹螺旋靠近它)变成了“鞍点”(轨迹被推开),这就是稳定性发生了质变。
🙋
原来如此!那工程师怎么知道一个平衡点稳不稳定呢?总不能每次都靠试吧?
🎓
当然有数学工具,就是Jacobian矩阵和特征值。在实际工程中,比如分析一个复杂结构的振动,我们会在平衡点附近做“线性化”,计算这个矩阵。它的特征值就像系统的“DNA”,直接决定了稳定性。在模拟器里,我们实时计算并分类。你改变参数后,看看平衡点旁边的标注,如果是“稳定节点”,说明两个特征值都是负实数,系统会非振荡地稳定下来;如果是“不稳定焦点”,说明特征值是实部为正的复数,系统会振荡着发散。

物理模型与关键公式

核心是二维自治动力系统,它描述了两个状态变量随时间的变化率:

$$\frac{dx}{dt}= f(x, y), \quad \frac{dy}{dt}= g(x, y)$$

这里 $x$ 和 $y$ 是系统的状态变量(如角度与角速度、猎物与捕食者数量),$f$ 和 $g$ 是定义了系统动力学的函数。相平面就是由 $(x, y)$ 张成的状态空间。

平衡点 $(x^*, y^*)$ 的稳定性由该点处的 Jacobian 矩阵 $J$ 决定,通过对系统进行线性化得到:

$$J = \begin{pmatrix}\frac{\partial f}{\partial x}& \frac{\partial f}{\partial y}\\[6pt] \frac{\partial g}{\partial x}& \frac{\partial g}{\partial y}\end{pmatrix}_{(x^*, y^*)}$$

计算 $J$ 的特征值 $\lambda_1, \lambda_2$。稳定性判据为:两者实部 $Re(\lambda) < 0$ 则稳定;两者实部 $> 0$ 则不稳定;一正一负则为鞍点(不稳定)。特征值的Imaginary Part决定运动是否振荡。

现实世界中的应用

结构非线性振动分析:在CAE中分析大型柔性结构(如飞机机翼、高层建筑)在风或地震载荷下的稳定性。通过相平面分析,工程师可以判断系统是否会收敛到平衡位置(稳定),还是会发生极限环振荡(如颤振)甚至发散失稳。

生态系统与流行病学建模:经典如Lotka-Volterra捕食者-猎物模型,用于预测物种数量的长期振荡与平衡。在流行病学中,用于分析传染病模型中感染人数是趋于稳定(疾病被控制)还是爆发(成为流行病)。

控制系统设计:在自动化与机器人领域,分析闭环控制系统的平衡点稳定性至关重要。相平面帮助工程师设计控制器参数(如PID增益),确保系统响应能快速、平稳地到达设定点,避免振荡或失控。

化学反应网络:在化学工程中,分析复杂反应(如催化反应、振荡反应)的反应物与产物浓度如何随时间变化,寻找稳定的操作条件,避免反应器运行进入不希望的振荡或失控状态。

常见误解与注意事项

首先,请明确“相平面不仅是轨迹的简单绘图”这一要点。轨迹是从初始值出发的一条线,但相平面分析的真正价值在于通过观察整个方向场(箭头)来把握“流动”特性。仅凭一条轨迹就草率判断“该系统存在振荡”是危险的。例如在衰减振荡中,若初始能量较大,运动可能看似复杂,但观察整个方向场就能发现所有箭头最终都会被某个点(稳定平衡点)吸引。

其次,关于参数设置的“尺度”问题。例如在“摆”模型中,将阻尼系数`b`从0.1改为1.0会导致系统行为剧烈变化。但如果显示范围`R`保持默认值±5,箭头可能会全部密集在平衡点附近,导致流动特征无法显现。参数修改后,通过“显示范围±R”滑块调整观察视野是关键技巧。在实际工程中,合适的尺度调整也必不可少。

最后,需警惕“实时仿真并非万能”的陷阱。本工具通过数值计算绘制轨迹。对于高度敏感的系统(例如鞍点的不稳定流形附近),微小的数值误差就可能导致轨迹走向完全不同的方向。切勿盲目相信仿真结果,应养成时刻将结果与理论(零斜线形状、平衡点线性化预测)进行对照的习惯,自问:“这个结果真的可靠吗?”