劳斯-赫尔维茨稳定判别模拟器 返回
控制工程

劳斯-赫尔维茨稳定判别模拟器

输入控制系统特性方程式的系数,可自动构建劳斯阵列,计数第1列的符号变化来判定系统是稳定还是不稳定。无需求解根就能判断稳定性的原理,可通过s平面绘图和阶跃响应同时观察验证。

参数设置
特性方程式的次数
4次系使用至 a₀,3次系忽略 a₀
系数 a₃(最高次的下一项)
系数 a₂
系数 a₁
系数 a₀(常数项·仅4次系)
选择3次系时,a₀ 不用于计算
计算结果
不稳定极数(右半平面)
稳定性判定
第1列的符号变化数
劳斯第1列 b₁
劳斯第1列 c₁
最右极的实部
复数s平面 — 特性方程式的极配置

虚轴是稳定边界。左半平面(绿色)的极表示稳定,右半平面(红色)的极表示不稳定。点表示特性方程式的根。

劳斯阵列 第1列
单位阶跃响应 y(t)
理论·主要公式

$$P(s)=s^4+a_3 s^3+a_2 s^2+a_1 s+a_0$$

4次系的特性多项式。最高次项系数已归一化为1。3次系则处理 $P(s)=s^3+a_3 s^2+a_2 s+a_1$,省略 a₀。

$$b_1=\frac{a_3 a_2-a_1}{a_3},\qquad c_1=\frac{b_1 a_1-a_3 a_0}{b_1}$$

劳斯阵列s²行和s¹行的首元素。每个元素是其上两行的2×2行列式除以该行首元素得到的。

$$\text{第1列}=[\,1,\ a_3,\ b_1,\ c_1,\ a_0\,]$$

如果第1列的所有元素都为正,则系统稳定(所有极在左半平面)。符号变化的次数等于右半平面极的个数。

劳斯-赫尔维茨稳定判别的含义

🙋
我在控制课上看到「劳斯-赫尔维茨稳定判别」……但这到底是在做什么呢?
🎓
简单来说就是判断「这个反馈系统,放着不管会失控吗?还是会稳定下来?」的方法。控制系统有特性方程式,它的分母是个多项式,这个多项式的根(也叫极)如果全都在复平面的左半平面,那么响应会衰减、系统稳定;但只要有一个极在右半平面,输出就会随时间发散、系统就不稳定了。劳斯-赫尔维茨判别就是用系数本身来做这个判定,不用求根。
🙋
不用求根?4次方程手工解的话很麻烦呀……。
🎓
对,这就是妙之处。我们把系数排列起来构造「劳斯阵列」这样一个表。比如例子里 P(s)=s⁴+10s³+35s²+50s+24,把s⁴行写成 [1,35,24],s³行写成 [10,50,0],然后往下一行用交叉计算来填。b₁=(10·35−50)/10=30,c₁=(30·50−10·24)/30=42,这样就有了。最后第1列是 [1,10,30,42,24]。
🙋
出了第1列的数字以后,怎么看呀?
🎓
很简单,从上到下看第1列的符号。刚才的 [1,10,30,42,24] 全是正的,所以符号变化零次。这意味着右半平面的极数为零=系统稳定。试试把左边的 a₁ 滑块往上拉到200左右,你会看到 b₁ 变成负数,符号会出现「正→负→……」这样的变化。符号变化的次数,就正好等于不稳定极的个数。
🙋
符号变化的次数正好就是不稳定极的数……这听起来很神奇啊。为什么会这样?
🎓
这是劳斯定理的内容,它从柯西幅角原理导出来的。直观地说,「第1列的符号翻转几次」就等于「穿过虚轴跑到右边的根有几个」。所以无论什么次数的系统,只要构造出第1列,就能知道有多少个极在右半平面。下面的s平面图里你能看到,红色区域里的极数和符号变化次数是一致的。
🙋
第1列中间正好出现0的话,能不能除下去,不是会有问题吗?
🎓
问得好。第1列出现零说明有极刚好在虚轴上,既不衰减也不发散,这叫「临界稳定(持续振荡)」。计算时我们把零替换成很小的正数 ε 继续算。到最后,如果还有符号变化就说不稳定;如果符号变化消失,那就是极在虚轴上的情况。实务中临界稳定跟不稳定基本一样对待,要调整参数加点余裕。本工具能检测出这种情况,会用黄色标记「可能临界稳定」。

常见问题

这是一种只使用特性方程式(闭环系统分母多项式)的系数,无需求解根就能判定系统稳定性的方法。从系数构建劳斯阵列表,如果其第1列的符号都相同则系统稳定,只要有一次符号变化就表示不稳定。第1列的符号变化次数恰好等于右半平面(实部为正)的根数——即不稳定极数。即使多项式次数很高,也能不求根就判断稳定性,因此广泛用于设计初期的检查。
这是基于劳斯定理:劳斯阵列第1列的符号变化次数与特性方程式的右半平面根数相等。这个结果由柯西幅角原理导出,对实系数多项式严格成立。因此只需构造第1列,就能知道任意阶数系统中有多少个极在右半平面。如果为0则稳定,1个以上则不稳定。本工具使用杜兰德-克恩方法计算实际根作为参考,使判定的理论依据清晰可见。
对于4次系 P(s)=s⁴+a₃s³+a₂s²+a₁s+a₀,s³行为 [a₃, a₁],s⁴行为 [1, a₂]。s²行的首元素 b₁ 由 b₁=(a₃a₂−a₁)/a₃ 求得。继续 s¹行的首元素 c₁ 由 c₁=(b₁a₁−a₃a₀)/b₁ 求得。s⁰行就是 a₀ 本身。这样第1列为 [1, a₃, b₁, c₁, a₀],这5个元素都为正则系统稳定。每个元素通过前两行的2×2行列式除以该行首元素得到(交叉计算)。
第1列中间出现零时,直接计算会遇到零除问题。此时用微小的正数 ε 替换并继续计算。到最后,如果当 ε→0 时仍有符号变化则为不稳定;如果符号变化消失则表示极在虚轴上,这种情况称为「临界稳定(持续振荡)」。临界稳定是不衰减的振荡,设计中应按不稳定处理。本工具检测到这种情况时,会用黄色显示「可能临界稳定」的判定。

现实应用

反馈控制系统的增益设计:设计PID控制器增益或电动机驱动反馈增益时,特性方程式的系数是增益的函数。利用劳斯-赫尔维茨判别,可以保留增益作为变量,用不等式的形式求出「哪个范围内稳定」。例如,求 b₁>0 和 c₁>0 的增益范围,就能直接得到稳定增益的上下限。这个结果可以直接用于仿真前的设计范围决策。

伺服和机器人关节的控制:位置伺服和多关节机器人的关节控制中,由于机械共振和传感器延迟,闭环次数会升到3次或4次。通过本工具体验低阶系统中符号变化和极位置的关系,在现场遇到「增大增益后产生振荡」这样的现象时,就能直观理解这是极转移到右半平面的结果。

电力系统和电源电路的稳定性:并网逆变器和开关电源的控制环路设计也离不开特性方程式的稳定判别。负载条件改变时系数也会变化,需要在最坏情况下确保第1列保持正值。劳斯-赫尔维茨在数值计算上非常轻便,即便在嵌入式设计的评审中也能快速使用。

控制工程教育和仿真前的验算:数值求根前的「答案合理性检查」也很有用。用MATLAB等工具计算根之前,先看第1列的符号,就能立刻判断稳定还是不稳定。反过来,数值计算的根与劳斯判别矛盾的话,可能系数输入有误或模型化有问题——这是个很好的完整性检查。

常见误解和注意事项

最常见的是「所有系数为正就稳定」这个误解。系数全为正只是稳定的必要条件,不是充分条件。3阶以上系统中,即使系数全是正数,劳斯阵列的 b₁ 或 c₁ 也可能为负导致不稳定。比如 s³+s²+s+6,系数全正,但 b₁=(1·1−6)/1=−5<0,所以不稳定。不要仅凭系数全正就放心,一定要算出第1列并检查符号。本工具中增大 a₁ 就能看到这个现象。

还有一个误解是「劳斯-赫尔维茨只能说稳还是不稳」。确实结论是二选一,但第1列的符号变化次数能告诉你右半平面有几个极。更重要的是,要明白这个判别不能告诉你响应有多快、衰减有多好(稳定裕度)。系统可以稳定但极离虚轴很近,那样一点扰动就会失稳。实务中需要在稳定判别之外,还要看增益裕度、相位裕度和极的位置(衰减比)。

最后,临界稳定的处理很重要。第1列出现零的临界稳定,数学上是「既不稳定也不不稳定」的边界状态,但设计上要按不稳定对待。没有衰减,任何模型误差或非线性效应都很容易把系统推向发散。「刚好稳定就行」的想法很危险——应该设计得让第1列确实为正,留出充分余裕。看本工具中阶跃响应不衰减反复振荡的样子,就能体会到临界稳定为什么在工程中不可用。

使用指南

  1. 输入特性方程式的系数。对于4次系,请在左侧字段输入 s⁴ 的系数a₃、s³ 的系数a₂、s² 的系数a₁ 和常数项a₀
  2. 指定各系数值的范围,用滑块进行微调。例如工业PID控制器中,比例增益Kp=2.5、积分增益Ki=0.8等数值可以反映到系数中
  3. 点击「计算执行」按钮,劳斯阵列会自动生成,从第1列的符号变化次数判定不稳定极的个数。根轨迹图表可视化显示极的位置

具体计算例

电动马达的速度控制系统,特性方程式s⁴+3.2s³+4.5s²+2.8s+0.6=0 的稳定性判别中,输入a₃=1、a₂=3.2、a₁=4.5、a₀=2.8。劳斯阵列第1列为1→3.2→3.81→2.53→0.6,符号变化为零,所以4个极都在左半平面,系统判定为稳定。最右极的实部约为-0.18,响应速度充分。

工程实践中的注意