2. 非线性系统建模与状态空间表示

分岔分析的一切结论都建立在“模型”之上。若模型写错、状态变量选错、平衡点方程列错,后续的特征值计算、参数扫描和分岔图都只是对错误对象的精确计算。本节从三个典型实际对象出发,说明如何把物理机理转写为非线性微分方程,再整理成状态空间形式,并给出平衡点与周期轨道的定义与求解路径。

一、从机理到方程:三个对象的建模要点

单摆。取摆角 θ 为广义坐标,规定逆时针为正、竖直向下为 θ=0。对摆球列切向牛顿方程,得

m L θ'' = -m g sinθ - c L θ'
=> θ'' + (c/m) θ' + (g/L) sinθ = 0

其中 c 为粘性阻尼系数。关键的非线性来自 sinθ:小角度下 sinθ≈θ 得到线性化模型,但大幅摆动、翻转运动必须保留 sinθ。若存在恒定外力矩 T,则右端再加 T/(mL²),此时系统可能出现平衡点消失的鞍结分岔,这正是后续章节的典型例子。

电路。以范德波尔振荡器为例,含非线性负阻(如隧道二极管或运放实现的负阻)与 LC 回路。对电容电压 v 和电感电流 i 列 KCL、KVL:

C dv/dt = i - g(v)
L di/dt = -v
=> v'' - (1/C)(i'(v) ... ) 整理后得 v'' - μ(1 - v²)v' + ω₀²v = 0

非线性项 μ(1−v²)v' 表示“小振幅时注入能量、大振幅时耗散能量”,它使系统收敛到一条稳定周期轨道(极限环),是研究周期轨道与 Hopf 分岔的标准模型。

化学反应器。连续搅拌釜(CSTR)中一级放热反应,以浓度 CA 与温度 T 为状态,物料与能量守恒给出

dC_A/dt = (C_Af - C_A)/τ - k₀ exp(-E/(RT)) C_A
dT/dt   = (T_f - T)/τ + (-ΔH)/(ρc_p) k₀ exp(-E/(RT)) C_A - UA(T - T_c)/(Vρc_p)

Arrhenius 项 exp(−E/RT) 是强非线性来源,它使系统可存在多个稳态(点火/熄火),对应鞍结分岔与滞后现象。

二、状态空间形式

统一写成 ẋ = f(x, μ),x ∈ ℝⁿ 为状态向量,μ 为参数。做法是:对 n 阶标量方程引入 x₁=θ, x₂=θ' 等,把高阶方程降为一阶方程组。单摆即

x₁' = x₂
x₂' = -(g/L) sin x₁ - (c/m) x₂ + T/(mL²)

状态变量选择不唯一,但应满足:能唯一确定系统未来演化、数量最少、物理意义清晰。选错(例如把两个不独立变量都当状态)会导致雅可比矩阵奇异,平衡点分析失效。参数 μ 不进入状态,它是分岔分析中要扫描的外生量。

三、平衡点与周期轨道的求解

平衡点满足 f(x*, μ)=0。单摆无外力时 x₂*=0,sin x₁*=0,得 (0,0) 与 (π,0)(模 2π)。有恒力矩 T 时需解 sin x₁* = T/(mgL),仅当 |T|≤mgL 有解,|T|=mgL 时两平衡点合并后消失——这就是鞍结分岔的几何来源。数值上可用牛顿法从多个初值出发求全部根,避免漏根。

周期轨道是满足 x(t+T)=x(t) 的非平凡闭轨。解析上常借助首次积分或 Lienard 变换;数值上常用打靶法:猜测初值与周期,积分一个周期后要求回到初值,用牛顿法修正,并检查 Floquet 乘子判断稳定性。范德波尔系统在 μ>0 时存在唯一稳定极限环,可用打靶法求得其幅值与周期随 μ 的变化。

建模自检三问:非线性项是否来自真实机理而非人为添加?状态变量是否互相独立且足以确定未来?平衡点方程是否在参数取边界值时单独检查(如 |T|=mgL)?
从实际对象到状态空间与平衡点/周期轨道 单摆 θ''+(c/m)θ'+(g/L)sinθ=T/(mL²) 范德波尔电路 v''−μ(1−v²)v'+ω₀²v=0 放热 CSTR dC/dt, dT/dt 含 exp(−E/RT) 状态空间形式 ẋ = f(x, μ) x₁=θ, x₂=θ' 降阶 μ 为分岔参数 平衡点 f(x*,μ)=0 sin x₁*=T/(mgL),x₂*=0 |T|=mgL 时两解合并消失 → 鞍结分岔的几何来源 周期轨道 x(t+T)=x(t) 打靶法:猜初值+周期,牛顿修正 Floquet 乘子判稳定性 → 范德波尔极限环 建模自检:非线性项来自真实机理 · 状态变量独立且完备 · 参数边界值单独检查 模型正确是分岔分析可信的前提

四、一个可执行的建模流程

以带恒力矩的单摆为例,完整走一遍:

  1. 确定坐标与正方向:θ 逆时针为正,竖直向下为零位。
  2. 列机理方程:mLθ'' = −mg sinθ − cLθ' + T。
  3. 降阶:x₁=θ,x₂=θ',得 x₁'=x₂,x₂'=−(g/L)sin x₁−(c/m)x₂+T/(mL²)。
  4. 求平衡点:令右端为零,x₂*=0,sin x₁*=T/(mgL)。取 g=9.8, L=1, m=1,则临界力矩 T_c=9.8。
  5. 参数扫描:令 T 从 0 增至 9.8,记录平衡点个数由 2 变 1 再变 0 的过程,即为分岔图的骨架。
  6. 数值验证:用四阶 Runge–Kutta 从不同初值积分,观察相轨迹是否收敛到对应平衡点或极限环。

需要强调:上述数值(g=9.8、L=1、T_c=9.8)是教学示例参数,用于说明计算路径,并非实测数据。实际工程中应代入真实几何与阻尼参数,并对平衡点方程做数值求根以覆盖全部解。

建模完成后,才进入线性化与特征值分析:在平衡点处计算雅可比矩阵 J=∂f/∂x,其特征值实部穿越零或出现纯虚对,分别对应鞍结、Hopf 等分岔。因此本节的状态空间整理与平衡点求解,是后续所有分岔判据的输入,必须保证方程、符号约定与参数含义在全文一致。