3. 状态切换的数学描述

事件检测回答的是“什么时候切换”,而本节要回答的是“切换本身如何用数学写清楚”。在连续动力学中,状态 x(t) 随时间平滑演化;一旦发生状态切换,系统往往同时具备两套描述:一套刻画切换发生前各子系统内部的连续演化,另一套刻画切换瞬间状态的跳变或模式的重选。把这两套描述组织成统一框架,正是切换系统、混合系统、分段连续动力学与切换律各自承担的角色。

一、切换系统:用“模式 + 子动力学”描述

切换系统的基本写法是给系统附加一个离散模式变量 σ(t) ∈ {1,2,…,N},每个模式对应一组连续微分方程:

ẋ(t) = f_σ(t)( x(t), u(t), t ),   σ(t) ∈ {1,…,N}

这里 σ 是模式索引,f_i 是第 i 个子系统的向量场。切换系统的关键特征是:状态 x 在切换瞬间不跳变,只有模式 σ 改变,因此轨迹连续但导数可能不连续。例如一个双模式温控对象,加热模式为 Ṫ = (P - k(T - T_env))/C,自然冷却模式为 Ṫ = -k(T - T_env)/C,温度曲线连续,但在切换点斜率发生折转。这种“连续状态 + 离散模式”的结构,是切换系统最典型的数学形态。

二、混合系统:连续流与离散跳变并存

混合系统进一步允许状态在切换瞬间发生跳变。它通常由流集、流映射、跳变集、跳变映射四要素描述:

  • 流集 C:状态允许连续演化的区域,在 C 内满足 ẋ = f(x);
  • 跳变集 D:触发离散跳变的状态区域;
  • 跳变映射 g:x⁺ = g(x⁻),描述跳变后的新状态。

以带碰撞的弹簧振子为例,质量块在自由段满足 ẍ = -ω²x,当位移到达限位 x = x_max 且速度为正时发生碰撞,速度按恢复系数 e 反向:v⁺ = -e·v⁻,位置不变。这里位置连续、速度跳变,正是混合系统区别于纯切换系统的核心。工程中的继电器抖动、阀门瞬时关断、电池保护板切断回路,都更适合用混合系统建模。

三、分段连续动力学:把切换面写进定义域

分段连续动力学不显式引入模式变量,而是按状态空间区域直接分段定义向量场:

ẋ = f₁(x),  x ∈ Ω₁
ẋ = f₂(x),  x ∈ Ω₂
切换面 Σ = { x | h(x) = 0 }

其中 h(x) 是切换函数,h(x)=0 定义切换面,h(x) 的符号决定当前处于哪个区域。这种写法的优点是切换条件与状态直接绑定,便于分析切换面上的行为。需要特别区分两类穿越方式:横截切换时轨迹以非零法向速度穿过 Σ,切换后继续演化;滑动切换时两侧向量场都指向切换面,轨迹被“粘”在 Σ 上,形成滑动模态。Filippov 意义下的解正是为处理滑动段而引入的凸组合描述:ẋ = λf₁ + (1-λ)f₂,λ 由法向分量为零的条件确定。若忽略滑动段,仿真会在切换面附近出现高频抖振或数值穿越错误。

四、切换律:决定“切到哪”的规则

切换律是模式选择的决策函数,常见形式包括:

  • 状态依赖型:σ⁺ = argmin_i V_i(x),如多控制器中选能量函数最小者;
  • 时间依赖型:按驻留时间或周期调度切换,如 σ(t) = ⌊t/T_s⌋ mod N;
  • 事件触发型:由外部事件或阈值条件触发,如温度超过上限切冷却;
  • 滞环型:设置上下阈值避免频繁切换,如 T > T_high 切冷却、T < T_low 切加热。

切换律的设计直接决定系统稳定性。即使每个子系统都稳定,不恰当的切换律也可能导致发散;反之,合理设计的切换律可以让不稳定的子系统组合出稳定行为。因此切换律不是附属规则,而是与子动力学同等重要的建模对象。

切换系统的数学结构:连续流 + 切换面 + 切换律 状态空间分区与切换面 Ω₁(模式1) ẋ = f₁(x) h(x) < 0 Ω₂(模式2) ẋ = f₂(x) h(x) > 0 切换面 Σ: h(x)=0 横截切换 滑动模态 切换律与状态跳变 切换律 σ⁺ = S(x, t, event) 状态依赖 / 时间依赖 / 事件触发 / 滞环 连续流 ẋ = f_σ(x) x 连续 离散跳变 x⁺ = g(x⁻) x 可跳变 切换系统:仅 σ 变,x 连续 混合系统:x 可跳变,需流集/跳变集

五、建模时的关键约定与实现要点

把上述框架落到代码或仿真中,需要先固定几条约定,否则不同模块对“切换时刻”的理解会不一致。第一,明确切换判据的方向:以温度控制为例,若定义 h(T) = T - T_high,则 h 由负变正表示超温,应切冷却;若把 h 定义反了,切换律会整体反向。第二,区分“事件发生时刻”与“检测到事件的采样时刻”:连续时间模型中切换发生在 h(x)=0 的精确时刻,而离散仿真只能在步末检测符号变化,需要用线性插值或求根把切换点回退到 h=0 附近,否则会引入一步延迟误差。第三,对滑动段要单独处理:当检测到两侧向量场都指向切换面时,不能简单按符号选模式,而应切换到 Filippov 凸组合或等效滑动方程,避免高频抖振。

以一个双模式温度控制器为例,设 T_high = 80°C、T_low = 75°C,采用滞环切换律:T ≥ 80 时 σ=2(冷却),T ≤ 75 时 σ=1(加热),中间区间保持原模式。若把滞环去掉、改成单阈值 T ≥ 78 切冷却、T < 78 切加热,则在阈值附近会因测量噪声反复切换,模式变量高频抖动,仿真步长被迫缩小,实际执行器也会频繁动作。这说明切换律中的滞环宽度不是可有可无的参数,而是决定系统是否良态建模的结构性设计。

建模检查清单:① 每个模式是否有明确的向量场与定义域;② 切换面 h(x)=0 是否与切换律符号一致;③ 是否存在状态跳变,若有是否给出跳变映射 g;④ 是否可能出现滑动模态,若有可能是否准备了 Filippov 处理;⑤ 切换律是否含滞环或最小驻留时间,以避免抖振。

总结来看,切换系统给出“模式 + 子动力学”的骨架,混合系统补充“跳变”这一维度,分段连续动力学把切换面写进状态空间定义域,切换律则决定模式如何被选中。四者不是互斥的四种模型,而是同一建模问题的四个侧面:实际建模时通常先确定是否存在状态跳变,再选择用模式变量还是分区函数表达,最后把切换判据、滞环与滑动处理写进切换律。只有这四层都写清楚,后续的事件检测、仿真步进与稳定性分析才有可靠的数学基础。