资讯动态

劳斯判据不求解特征方程,快速判断高阶系统稳定性与参数稳定域

发布时间:2026/10/15 23:09:57 来源:尧图企业网站定制
做控制系统这些年我越来越觉得有些判断工具看着不起眼用好了是真能救场。就拿系统稳定性来说刚入行的时候遇到二阶系统还好办特征方程一对共轭复根拉出阻尼比稳定不稳定一眼就能看出来。可系统阶数一上去三阶、四阶、五阶甚至还有延迟环节这时候想快速判断系统稳定性劳斯判据几乎是手边最顺手的那把尺子。今天就把这个工具从原理到操作再到坑点完整聊一遍顺便把我这些年用下来的经验也交代清楚。劳斯判据最妙的地方在于它不需要你真正求出特征方程的根只要把系数按照一种固定规则排成一张表再看第一列数字的符号变化就能直接回答系统稳不稳、有几个不稳的根。对于三阶以上的高阶系统这几乎是手算时代留给我们的最好礼物。哪怕现在各种仿真工具满天飞真到了现场、评审、快速筛选参数的时候手里有这套东西心里会踏实很多。1. 稳定性判断的老大难问题不求解特征方程行不行1.1 特征根的分布才是稳定性的根源先回到最基本的道理。一个线性时不变系统稳不稳定不是看开环增益有多大也不是看时域响应初始长得像不像回事而是看闭环特征方程的特征根落在哪里。系统闭环传递函数的极点就是闭环特征方程的根。只要所有特征根都落在复平面左半平面也就是实部全为负系统就是渐近稳定的给定一个输入响应会收敛到稳态值。只要有一个根的实部为正系统就会发散响应直接冲出去。如果有根恰好落在虚轴上系统会处于等幅振荡的临界状态工程上照样不能算稳定。所以稳定性问题本质上是一个根的分布问题问的是所有根是否都在左半平面。这个说法听起来简单但真要动手验证的时候麻烦立刻就来了。1.2 高阶方程为什么不能依赖求根二阶系统的特征方程是二次方程求根公式初中生都会背三阶以上呢三次方程有卡尔丹公式但用起来又繁琐又容易出错四次方程已经复杂到没人愿意手动算五次及以上的方程早在两百年前就证明了没有通用的根式解。那用数值方法求根行不行行但有两个问题。第一你需要一个计算工具比如各种数学软件现场评审的时候不可能每换一个参数就打开软件跑一遍第二数值求根有个麻烦事——你怎么知道算出来的根是全部根高阶多项式计算过程中容易丢根、出现数值病态尤其是系数跨度大的时候结果可能根本不可信。还有一个更实际的问题很多时候我们需要判断的不是某个具体的系统稳不稳而是某个参数在什么范围内系统才稳。这时候如果每次求根都重新算一遍效率低到没法看。所以老一辈工程师才迫切需要一个能够不求根就判断根的位置的工具。劳斯判据正是干这个的。1.3 劳斯判据的工作方式劳斯判据的做法非常朴素把特征方程的各项系数按降幂排列然后把它们放进一个类似表格的阵列里按照一套交叉乘除的规则往下递推。表格列完以后只看第一列元素的符号从正到负或者从负到正的次数就是落在右半平面也就是实部为正的特征根个数。这个思路的精妙之处在于它把求方程的根这个困难问题转化成了做一系列有理数四则运算这个机械问题。你不需要知道根具体长什么样只需要通过系数之间的代数关系间接推断出根的分布。整个过程不需要开方、不需要迭代、不需要复数运算手算就能完成。对于四阶、五阶系统列一张表也就几分钟的事。我最早学的时候觉得这只是一个考试技巧后来在项目里要做参数整定才知道这东西的实用价值。某次调一个四阶位置伺服回路增益参数一改响应就开始抖当时就是靠劳斯判据快速圈出了增益的稳定范围省了不知道多少次来回试凑。2. 劳斯表的列法与判读一次彻底搞懂2.1 表头怎么排假设闭环特征方程是降幂排列的n次多项式a_n * s^n a_(n-1) * s^(n-1) ... a_1 * s a_0 0记住一点系数必须从最高次到最低次排好中间缺哪一项就补0绝对不能跳过。很多人在这一步就翻车了后面我会专门讲。劳斯表第一行放最高次项开始、隔一个取一个的系数第二行放次高次项开始、同样隔一个取一个的系数。拿四阶方程举例a4*s^4 a3*s^3 a2*s^2 a1*s a0 0第一行s^4行a4, a2, a0 第二行s^3行a3, a1, 0注意如果方程缺项比如a10那第二行的中间位置要老老实实写0不能空着。补齐之后表的总行数是n1行从s^n一直排到s^0。2.2 从第三行开始交叉运算从第三行开始每一行的每一个元素都由它上面两行对应位置的元素交叉乘除得到。规则是固定的以s^2行的第一个元素为例需要用到s^3行的第一个元素a3、第二个元素a1以及s^4行的a4(s^2行第一个) (a3 * a2 - a4 * a1) / a3这里要注意分子是上行第一列乘以上一行第二列减去本行上面那行第一列乘以上上行的第二列不对我重新说清楚。标准的计算是当前要计算这一行的第一个元素时取紧挨着的上一行的第一列和当前行上方两行的第一列交叉相乘更直观的记忆方式分子是上一行的第一列乘以上上行第二列减去上上行第一列乘以上一行第二列分母是上一行的第一列。用符号写就是b1 (a3 * a2 - a4 * a1) / a3后面的元素同理比如s^2行的第二个元素b2 (a3 * a0 - a4 * 0) / a3之后每一行都按这个规律递推直到排到s^0行为止。s^0行通常只有一个元素就是最后计算出来的常数。2.3 第一列变号次数等于右半平面根数表列完以后把第一列所有元素从上往下看一遍不需要管绝对值大小只看符号。每出现一次符号变化比如从正变负或者从负变正就代表有一个特征根位于右半平面。如果第一列元素全部为正假设最高次系数为正那就说明所有特征根都在左半平面系统稳定。这里有个容易混淆的点符号变化的次数是变化次数还是负号个数答案是变化次数。比如第一列是正、正、负、正那变化次数是2不稳定根个数是2。一个负号会被数两次从正变负一次从负变正又一次。我见过不少初学者数成1然后跟仿真结果对不上回头检查才发现是数错了。3. 两个必须单独处理的特殊行首列为零与全零行前面说的是正常情况下劳斯表的列法。但实际工程中特征方程的系数千奇百怪劳斯表在递推过程中会遇到两种特殊情况。这两种情况如果不先处理表就没法继续往下列。几乎所有劳斯判据相关的翻车事故都集中在这两处。3.1 首列为零ε替代法与乘因子法第一种情况是某一行的第一个元素算出来是0但该行后面还有其他非零元素。比如特征方程s^3 - 3s 2 0注意这个方程缺了s^2项所以要补0。列劳斯表行第1列第2列s^31-3s^202s^1??s^0??s^2行的第一个元素是0但第二个元素是2这时不能直接用0做分母否则算到下一行就崩了。标准做法是引入一个无穷小的正数ε把0替换掉然后照常计算。换句话说s^2行变成ε, 2。接下来s^1行第一个 (ε * (-3) - 1 * 2) / ε -3 - 2/ε由于ε是正无穷小2/ε趋近于正无穷所以整个表达式趋近于负无穷符号为负。再往下s^0行第一个 (s^1行第一列 * 2 - s^2行第二列? ) / s^1行第一列严格算s^0行元素用的是s^1行第一列、s^1行第二列、s^2行第一列、s^2行第二列((-3 - 2/ε) * 2 - ε * 0) / (-3 - 2/ε) 2所以整个第一列是1ε正负无穷2。符号变化了两次从正到负一次从负到正一次。因此系统有两个右半平面根不稳定。事实上这个多项式可以分解为s^3 - 3s 2 (s - 1)^2 * (s 2)确实是两个正实根1和1一个负实根-2与劳斯判据给出的结论完全一致。除了ε法还有一种替代做法给原特征方程乘一个因子(s a)其中a取正数。乘进去以后劳斯表对应行的首列不再是0可以继续计算。这个做法的原理是引入了一个新的、位于左半平面的负实根不会改变原有根在右半平面的个数。不过实际用起来ε法更通用也更容易记住我个人推荐先掌握ε法。3.2 全零行辅助方程的出场第二种情况更隐蔽某一行的所有元素全部变成0。全零行的含义是特征方程存在关于原点对称的根也就是实部为零的根或者成对出现的互为相反数的实根、共轭纯虚根等等。出现全零行时不能假装没看见继续算。正确做法是取全零行的上一行系数构造一个辅助方程然后把辅助方程对s求导用求导后的系数替换全零行再继续列劳斯表。举个例子特征方程s^3 2s^2 s 2 0列劳斯表到s^1行时行第1列第2列s^311s^222s^1(2×1 - 1×2)/2 0(2×0 - 1×0)/2 0s^1行全为0触发全零行处理。取上一行也就是s^2行的系数2和2构造辅助方程P(s) 2s^2 2 0对P(s)求导P(s) 4s 0用系数4和0替换掉原来的全零行得到行第1列第2列s^311s^222s^140s^0(4×2 - 2×0)/4 20第一列为1、2、4、2全部同号没有符号变化说明系统没有右半平面的根。但注意辅助方程的根就是那些对称根2s^2 2 0 s ±j两个纯虚根落在虚轴上。这意味着系统处于临界稳定状态严格来说不是渐近稳定。工程上遇到这种情况通常都按不稳定处理因为任何微小的扰动都可能让响应变成持续振荡。3.3 特殊情况的本质系统里藏着对称根为什么全零行会和对称根挂钩从代数角度看如果特征方程包含因子比如(s^2 β^2)那它对应的根就是一对纯虚根±jβ。这样的因子在劳斯表的某一行递推时会让后续计算出现清零。辅助方程其实就是把这个隐藏因子找出来它的根就是那些对称分布的特殊根。常见的情况有几种纯虚根对±jβ系统等幅振荡临界稳定。关于原点对称的实根±σ其中正实根在右半平面系统必然不稳定。两对更复杂的对称共轭根比如±a ± jb里面同样包含了右半平面的根。所以看到全零行第一反应不是表坏了而是系统里有特殊根。用辅助方程把特殊根挖出来才能得到完整的稳定性结论。这个信息比劳斯表第一列本身还重要因为它解释了系统为什么会处于临界状态。这里另外提醒一句如果特征方程的常数项a0为0说明系统存在一个位于原点的根也就是s0的根这本质上也是一种对称根0和0互为相反数。这种情况经常出现在含积分环节的系统中。处理办法是先提出一个s因子对剩余低一阶的多项式继续用劳斯判据避免直接在s^0行得出错误结论。4. 三个典型应用场景完整演示理论说完了实际操作才是重点。我挑三个最常碰到的场景低阶系统快速判断、高阶系统完整推演、参数稳定域求解。每个都给出可以复算的例子。4.1 二阶系统一句话判断二阶系统a2*s^2 a1*s a0 0 (a2 0)列劳斯表行第1列第2列s^2a2a0s^1a10s^0a00第一列依次是a2、a1、a0全部为正就是稳定的也就是三个系数全部同号且非零。对于二阶系统劳斯判据退化成一句大白话系数全正就稳定系数缺项或变号就不稳定。这个结论别看简单工程上很实用。比如一个典型的质量-弹簧-阻尼系统特征方程系数分别对应刚度、阻尼只要这两个物理量都是正数系统本质上就是稳定的。阻尼一旦出现负值比如主动控制中引入不合适的正反馈系数变号系统发散劳斯判据一秒钟就能看出来。4.2 四阶特征方程逐行算一遍来个完整例子。假设闭环特征方程是s^4 3s^3 2s^2 3s 5 0第一步排前两行行第1列第2列第3列s^4125s^3330第二步算s^2行b1 (3*2 - 1*3) / 3 (6 - 3) / 3 1 b2 (3*5 - 1*0) / 3 15 / 3 5s^2行1, 5, 0。第三步算s^1行c1 (1*3 - 3*5) / 1 3 - 15 -12 c2 (1*0 - 3*0) / 1 0s^1行-12, 0, 0。第四步算s^0行d1 (-12*5 - 1*0) / (-12) 5第一列最终是131-125。符号变化情况1→3无变化3→1无变化1→-12第一次变号-12→5第二次变号。总共两次变号说明系统有两个右半平面的特征根闭环不稳定。如果按照这个系统去搭模型做仿真阶跃响应一定发散。劳斯判据在几分钟内就把结论抛出来了完全不需要去解四次方程。4.3 参数稳定域求解增益K的稳定范围比判断一个系统稳不稳更常见的是让系统稳定的参数范围是多少。劳斯判据在这类问题上的优势简直是为它量身定做的。考虑一个典型的单位负反馈系统开环传递函数G(s) K / [s*(s 1)*(s 2)]闭环特征方程是s^3 3s^2 2s K 0列劳斯表行第1列第2列s^312s^23Ks^1(32 - 1K) / 3 (6 - K) / 30s^0K0为了系统稳定第一列必须全部为正于是得到两个不等式K 0 (6 - K) / 3 0 K 6所以K的稳定范围是0 K 6。当K6时s^1行全零系统进入临界状态出现等幅振荡。你可以去验证K6时特征方程s^3 3s^2 2s 6 0有一个因式(s^2 2)对应一对纯虚根±j√2系统处于临界稳定。这种参数范围的推导用求根法做非常痛苦每换一个K就要重新解一次三次方程而且很难直接看出临界点在哪里。劳斯判据把K写进表里对第一列符号提出要求解一组不等式就完了。经典控制理论里很多稳定边界的计算都是这么来的。5. 用劳斯判据这些年我的几条实操心得5.1 最容易翻车的三个地方第一缺项不补零。特征方程如果少了s的某次项这一项当作0处理。很多人写系数时习惯性把缺项跳过搞得上两行的列数对不齐后面全乱。特征方程s^3 2s 5 0的第一行应该是1、2第二行是0、5那个0必须写出来。第二全零行处理时机不对。有些人算到某一行为0直接拿0当分母继续算算出无穷大又不知道怎么办。我建议每算完一行先看一眼第二行是否全部为0如果是全零行马上停下来做辅助方程处理如果只是首列为0、后面有非零元素就要用ε法或乘因子法。两种情况的处理方式完全不同混用就会出错。第三临界稳定当成稳定。劳斯表第一列没有变号不代表系统就一定稳定。只要过程中出现过全零行就说明系统存在虚轴上的根最典型的是纯虚根系统实际上处于等幅振荡状态。你在工程里如果只看到没有右半平面根就说系统稳定交付了评审的时候大概率会被问住。记住结论应该是无右半平面根但存在共轭纯虚根临界稳定工程上不可接受。5.2 劳斯判据与根轨迹、频域判据怎么配合劳斯判据适合回答是/否和参数范围这两类问题。但它的信息量有限不能给出稳定裕度也看不出参数变化时根往哪个方向移动。根轨迹法擅长回答参数变化时极点怎么走。你看根轨迹图马上能看到增益增大到某个值之后主导极点从左侧穿越到右侧稳定性发生翻转。但要精确求出穿越点的参数值还得回到代数方程上去算这时候用劳斯判据反而更直接。频域判据比如奈奎斯特判据、伯德图上的幅值裕度和相位裕度回答的是系统距离不稳定还有多远。这是劳斯判据给不了的东西。工程上我习惯的流程是先用劳斯判据快速圈出参数范围再用频域分析确定在稳定范围内哪个参数值能提供足够的裕度。两者互补不冲突。另外一个容易被忽略的地方劳斯判据只能用于线性时不变系统。系统里如果有明显非线性、时变参数比如饱和、间隙、变增益劳斯判据的前提就不成立了。当年我在某个项目里试着用劳斯判据分析一个带滞环的控制回路算出来的结论跟仿真差很多后来才意识到是滞环非线性破坏了线性假设。这个边界一定要清楚。5.3 仿真时代还要手算劳斯表吗这个问题常被学生问。现在各种仿真工具几秒钟就能算出特征根为什么还要学一个一百多年前的手算方法我的看法是劳斯判据不是用来替代仿真工具的它是用来帮你建立稳定性的代数直觉的。仿真工具能告诉你结果但不能告诉你为什么这个参数范围是稳定的、为什么临界点出现在那里。劳斯判据把稳定性和系数符号、代数不等式直接挂钩这种联系会让你在做参数设计时形成预判而不是跑一次仿真看一次结果。实际工作中劳斯判据的低开销优势至今很明显。调参的时候参数一变不需要开仿真软件掏张纸列个表几秒钟就能判断新参数在不在稳定范围内。开会评审的时候对方问一句这个增益能不能再往上调现场没法跑仿真但你脑子里有个劳斯表随口就能说出临界值是多少。这种能力在工程现场比会操作任何软件都实用。如果实在想偷懒一些数学工具里也有现成的劳斯表命令用来验证手算结果是可以的。但我不建议一上来就依赖它——你自己能完整列出劳斯表并解释每一步为什么这么算才算真正把稳定性分析的基本功练到位了。最后分享一个我个人的小习惯每次算完劳斯表我会顺手把特征方程输入工具软件验证一次特征根重点看第一列变号次数是不是真的等于右半平面根数。这不是不信任劳斯判据而是对自己计算过程的一种复核。算久了你会发现只要劳斯表的每一步都解释得清楚最后的结论几乎不会出错。这种手算验证的节奏就是我用稳定分析工具多年下来最舒服的工作方式之一。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑