3、数学预备知识(一):标量函数的正定性、负定性、半正定性、半负定性

各位同学,咱们今天聊点数学。别急着皱眉,我保证不会让你掉进公式堆里。

做控制这么多年,我最大的体会是:李雅普诺夫稳定性理论,说白了就是一套“能量语言”。你想想看,一个系统稳不稳定,本质上就是看它的“能量”是不是越变越少,最后归零。而这个“能量”,在数学上就表现为一个标量函数。

所以,在正式进入李雅普诺夫方法之前,咱们得先把这套“能量语言”的语法搞清楚——也就是标量函数的正定性、负定性、半正定性、半负定性

3.1 为什么是标量函数?

先回答一个最基础的问题:为什么偏偏是标量函数?

我个人习惯把控制系统想象成一个“水池”。系统的状态变量(比如位置、速度)就是水池里的水位。我们需要一个单一的数字来描述这个水池的“总水量”——这就是标量函数的作用。它把多维的状态向量,映射成一个一维的数值。

嗯,这里要注意:这个映射不是随便选的。你选的这个标量函数,必须能真实反映系统的“能量”或“距离平衡点的远近”。选错了,后面的分析全白搭。

核心思想:标量函数 V(x) 是我们观察系统稳定性的“眼睛”。它把复杂的高维动态,浓缩成一个可以判断增减的数值。

3.2 正定性(Positive Definiteness)

这是最基础、也是最严格的一个概念。

什么叫正定?用大白话说:除了原点(x=0)处函数值为0,在其他任何地方,函数值都大于0。

数学定义是这样的:

对于标量函数 V(x),如果:
1. V(0) = 0
2. 对于所有 x ≠ 0,都有 V(x) > 0
则称 V(x) 是正定的。

我在项目中遇到过最经典的例子,就是 V(x) = x₁² + x₂²。你想想看,这个函数在原点处是0,离开原点后,不管往哪个方向走,函数值都是正的。这就是一个完美的正定函数,像一口碗的底部。

我的小技巧:判断一个二次型函数是否正定,最直接的方法就是看它对应的矩阵是不是正定矩阵。所有特征值都大于0,那这个二次型就是正定的。

3.3 负定性(Negative Definiteness)

负定性其实就是正定性的“镜像”。

说白了:除了原点处为0,其他任何地方函数值都小于0。

数学定义:

对于标量函数 V(x),如果:
1. V(0) = 0
2. 对于所有 x ≠ 0,都有 V(x) < 0
则称 V(x) 是负定的。

举个例子:V(x) = - (x₁² + x₂²)。这个函数在原点处是0,离开原点后,函数值永远是负的。它就像一个倒扣的碗。

我曾经犯过一个低级错误:在分析系统稳定性时,我找到了一个负定的导数,但忘了检查函数本身是不是正定的。结果分析到一半才发现,函数本身是负定的,整个逻辑全乱了。所以,正定和负定一定要配对使用

3.4 半正定性(Positive Semi-Definiteness)

半正定性比正定性“宽松”一些。它允许函数在非原点的地方也等于0。

数学定义:

对于标量函数 V(x),如果:
1. V(0) = 0
2. 对于所有 x,都有 V(x) ≥ 0
则称 V(x) 是半正定的。

你想想看,V(x) = (x₁ + x₂)² 这个函数。它在原点处是0,但沿着直线 x₁ = -x₂ 这条线走,函数值也是0。所以它不是正定的,只是半正定的。

避坑指南:我曾经在分析一个机械系统时,用了一个半正定的函数作为李雅普诺夫函数。结果发现系统在某个子空间内“能量”不减少,但实际上系统是渐近稳定的。后来才意识到,半正定性只能保证系统稳定,不能保证渐近稳定。这个坑,我替你们踩过了。

3.5 半负定性(Negative Semi-Definiteness)

同理,半负定性就是半正定性的“镜像”。

数学定义:

对于标量函数 V(x),如果:
1. V(0) = 0
2. 对于所有 x,都有 V(x) ≤ 0
则称 V(x) 是半负定的。

举个例子:V(x) = - (x₁ + x₂)²。这个函数在原点处是0,沿着直线 x₁ = -x₂ 也是0,其他地方都是负的。这就是半负定。

3.6 四种性质的对比与总结

为了让你一目了然,我把这四种性质整理成了一张表:

性质 V(0) 的值 x ≠ 0 时 V(x) 的值 典型例子
正定 0 V(x) > 0 V = x₁² + x₂²
负定 0 V(x) < 0 V = - (x₁² + x₂²)
半正定 0 V(x) ≥ 0 V = (x₁ + x₂)²
半负定 0 V(x) ≤ 0 V = - (x₁ + x₂)²

这张表你最好记在心里。每次做李雅普诺夫分析时,先对照一下,看看你选的函数属于哪一类。

3.7 知识体系结构图

下面这张图,是我用SVG画的,帮你理清这四种性质之间的关系:

标量函数定性分类体系 标量函数 V(x) 严格定性 正定 负定 半定性 半正定 半负定 关键区别:严格定性要求 x≠0 时 V(x) 严格大于/小于 0 半定性允许在某些非零点 V(x) = 0

3.8 实战中的选择建议

说了这么多理论,最后给你点实战建议。

我个人习惯在工程中,优先选择正定函数作为李雅普诺夫候选函数。为什么?因为正定函数能保证“能量”只在原点处为零,其他地方都有正的能量。这样分析起来最干净、最可靠。

如果实在找不到正定函数,退而求其次用半正定函数也可以,但这时候你要格外小心。我曾经在一个项目中,用半正定函数分析一个非线性系统,结果系统在某个子空间内“卡住”了,但实际系统是稳定的。后来用了LaSalle不变集原理才把问题搞清楚。

嗯,关于LaSalle不变集,那是后面章节的内容了。今天先把这四种定性吃透,后面的路就好走了。

一句话总结:正定是“碗底”,负定是“碗顶”,半正定是“山谷”,半负定是“山脊”。选对函数,稳定性分析就成功了一半。


专注资料整理