我们先看一下稳定性,看下面的这幅图
A,B,C三个点都是平衡点,把小球放在三个点上,都不会动,A点和C点的区别就是C点是有摩擦的。如果我们让A点的小球小球偏离A点,小球就会无休止的摆下去,如果让B点的小球偏离,则小球永远不会回到B点,如果让C点的小球偏离,因为有摩擦力,偏离平衡点之后,最终小球会逐渐的回到C点。所以我们称A,C点是稳定点,B点不是一个稳定点。
在这里,提出一个不严谨的说法:一个稳定系统,在离开平衡点后的反应随时间衰减,至少不增加。
下面给出一个严谨的数学表达,先看几个符号:
∀ : \forall: ∀: for all,对于任意给定
∃ : \exist: ∃: at least one,至少存在一个
∣ ∣ ⋅ ∣ ∣ : ||\cdot||: ∣∣⋅∣∣: norm,范数,可以认为是欧式距离, ∣ ∣ x ∣ ∣ = x 1 2 + x 2 2 + . . . + x n 2 ||x|| = \sqrt{x_1^2+x_2^2+...+x_n^2} ∣∣x∣∣=x12+x22+...+xn2
定义:李雅普诺夫意义下的稳定性
∀ t 0 , ∀ ϵ > 0 , ∃ δ ( t 0 , ϵ ) : ∣ ∣ x ( t 0 ) ∣ ∣ < δ ( t 0 , ϵ ) ⇒ ∀ t ≥ t 0 , ∣ ∣ x ( t ) ∣ ∣ ≤ ϵ \forall_{t_0},\forall{\epsilon}>0, \exist\delta(t_0,\epsilon):||x(t_0)||<\delta(t_0,\epsilon) \Rightarrow \forall{t}\geq t_0,||x(t)||\leq\epsilon ∀t0,∀ϵ>0,∃δ(t0,ϵ):∣∣x(t0)∣∣<δ(t0,ϵ)⇒∀t≥t0,∣∣x(t)∣∣≤ϵ
定义:渐进稳定性
∃ δ ( t 0 ) > 0 : ∣ ∣ x ( t 0 ) ∣ ∣ < δ ( t 0 ) ⇒ lim x → ∞ ∣ ∣ x ( t ) ∣ ∣ = 0 \exist{\delta(t_0)}>0:||x(t_0)||<\delta(t_0)\Rightarrow\lim_{x \to \infty}||x(t)||=0 ∃δ(t0)>0:∣∣x(t0)∣∣<δ(t0)⇒x→∞lim∣∣x(t)∣∣=0
上面的两个定义比较晦涩,下面这两幅图更容易看懂一些。假设有一个二维系统 x ˙ = f ( x 1 , x 2 ) \dot{x} = f(x_1,x_2) x˙=f(x1,x2),我们把它画在下面的二维系统中,半径分别为 δ , ϵ \delta,\epsilon δ,ϵ的两个圆,如果初始状态都在小圆内(D点和E点),李雅普诺夫下的稳定性是指最终稳定在大圆之内,渐进稳定性是指最终会回到原点。
之前提到的可以通过判断 x ˙ = A x \dot{x} = Ax x˙=Ax中的A矩阵的特征值判断稳定性,假设特征值 λ = a + b i \lambda=a+bi λ=a+bi,在这里李雅普诺夫下的稳定性就是指所有的特征值只有非正的实部( a ≤ 0 a\leq0 a≤0),渐进稳定性是指所有特征值只有负实部( a < 0 a<0 a<0)。只要有一个特征值大于0就是不稳定的系统。
求解微分方程可以判断系统稳定性,但比较难,李雅普诺夫方法不用求解微分方程,也可以判断稳定性。
如果 x ˙ = f ( x 0 ) \dot{x} = f(x_0) x˙=f(x0), x = 0 x=0 x=0是平衡点。
case1:
(i) V ( 0 ) = 0 V(0)=0 V(0)=0
(ii) V ( x ) ≥ 0 i n D − { 0 } V(x)\geq0 \ in\ D-\{0\} V(x)≥0 in D−{0},不包括0的定义域
(iii) V ˙ ( x ) ≤ 0 i n D − { 0 } \dot{V}(x)\leq0 \ in\ D-\{0\} V˙(x)≤0 in D−{0}
我们称 x = 0 x=0 x=0是一个稳定的平衡点。
case2:
(i) V ( 0 ) = 0 V(0)=0 V(0)=0
(ii) V ( x ) > 0 i n D − { 0 } V(x)>0 \ in\ D-\{0\} V(x)>0 in D−{0}
(iii) V ˙ ( x ) < 0 i n D − { 0 } \dot{V}(x)<0 \ in\ D-\{0\} V˙(x)<0 in D−{0}
我们称 x = 0 x=0 x=0是一个渐进稳定的平衡点。
这里有两个概念:PSD(positive semi definition)半正定,NSD(negative semi definition)半负定。
m x ¨ + B x ˙ + K x = 0 m\ddot{x}+B\dot{x}+Kx= 0 mx¨+Bx˙+Kx=0
写成状态方程的形式就是
[ z 1 ˙ z 2 ˙ ] = [ 0 1 − K m − B m ] [ z 1 z 2 ] \left[ \begin{matrix} \dot{z_1} \\ \dot{z_2} \end{matrix}\right] =\left[ \begin{matrix} 0 & 1 \\ -\frac{K}{m} & -\frac{B}{m} \end{matrix}\right] \left[ \begin{matrix} z_1 \\ z_2 \end{matrix}\right] [z1˙z2˙]=[0−mK1−mB][z1z2]
平衡点是 z 1 = z 2 = 0 z_1=z_2=0 z1=z2=0。
我们可以用矩阵特征值的性质来判断一下矩阵特征值的符号,我们知道
λ 1 + λ 2 = 0 + ( − B m ) = − B m < 0 \lambda_1+\lambda_2 = 0+(-\frac{B}{m})=-\frac{B}{m}<0 λ1+λ2=0+(−mB)=−mB<0
λ 1 × λ 2 = ∣ A ∣ = k m > 0 \lambda_1\times \lambda_2 = |A|=\frac{k}{m}>0 λ1×λ2=∣A∣=mk>0
由上面的两个公式可以推出 λ 1 , λ 2 < 0 \lambda_1,\lambda_2<0 λ1,λ2<0,系统稳定。从实际中也可以知道,无论弹簧的初始状态怎么样,弹簧虽然会震荡,但最终会稳定。
假设上面的弹簧拥有了这样的性质
f k = k x 3 f_k= kx^3 fk=kx3
系统就变成了下面这种形式
m x ¨ + B x ˙ + k x 3 = 0 m\ddot{x} + B\dot{x}+kx^3 = 0 mx¨+Bx˙+kx3=0
我们可以设 V = 1 2 m x ˙ 2 + 1 4 k x 4 V=\frac{1}{2}m\dot{x}^2+\frac{1}{4}kx^4 V=21mx˙2+41kx4,这个公式满足 V ( 0 ) = 0 , V > 0 V(0)=0, V>0 V(0)=0,V>0在 D − { 0 } D-\{0\} D−{0},所以 V V V是一个正定函数。再看一下 V ˙ \dot{V} V˙。
V ˙ = m x ˙ x ¨ + k x 3 x ˙ = m x ˙ ( − k x 3 m − B x ˙ m ) + k x 3 x ˙ = − k x 3 x ˙ − B x ˙ 2 + k x 3 x ˙ = − B x ˙ 2 < 0 \dot{V} = m\dot{x}\ddot{x} + kx^3\dot{x} = m\dot{x}(-\frac{kx^3}{m}-\frac{B\dot{x}}{m})+kx^3\dot{x}=-kx^3\dot{x}-B\dot{x}^2+kx^3\dot{x}=-B\dot{x}^2<0 V˙=mx˙x¨+kx3x˙=mx˙(−mkx3−mBx˙)+kx3x˙=−kx3x˙−Bx˙2+kx3x˙=−Bx˙2<0
V ˙ \dot{V} V˙是一个负定的函数,符合上面的case2的情况,系统是一个渐进稳定的系统。这里面比较难的是如何寻找李雅普诺夫函数,这是一个有技巧性的东西。