Chapter9.3:线性系统稳定性分析及综合实例
该系列博客主要讲述Matlab软件在自动控制方面的应用,如无自动控制理论基础,请先学习自动控制系列博文,该系列博客不再详细讲解自动控制理论知识。
自动控制理论基础相关链接:https://blog.csdn.net/qq_39032096/category_10287468.html?spm=1001.2014.3001.5482
博客参考书籍:《MATLAB/Simulink与控制系统仿真》。
3.线性系统稳定性分析及综合实例
李雅普诺夫理论提出了判断系统稳定性的两种方法:一种是利用线性系统微分方程的解来判断系统稳定性,称之为李雅普诺夫第一法或间接法;另一种先利用经验和技巧来构造李雅普诺夫函数,进而利用李雅普诺夫函数来判断系统稳定性,称之为李雅普诺夫第二法或直接法;
3.1 李雅普诺夫意义下的稳定性
设系统方程为:
x˙=f(x,t)\\dot{x}=f(x,t) x˙=f(x,t)
式中:xxx为nnn维状态向量,且显含时间变量ttt,f(x,t)f(x,t)f(x,t)为线性或非线性、定常或时变的nnn维向量函数,其展开式为:
x˙i=fi(x1,x2,⋯,xn,t);i=1,2,⋯,n\\dot{x}_i=f_i(x_1,x_2,\\cdots,x_n,t);i=1,2,\\cdots,n x˙i=fi(x1,x2,⋯,xn,t);i=1,2,⋯,n
假定方程的解为x(t;x0,t0)x(t;x_0,t_0)x(t;x0,t0),式中x0、t0x_0、t_0x0、t0分别为初始状态向量和初始时刻,初始条件x0x_0x0必满足x(t0;x0,t0)=x0x(t_0;x_0,t_0)=x_0x(t0;x0,t0)=x0;
-
平衡状态
对于所有ttt,满足:
x˙e=f(xe,t)=0\\dot{x}_e=f(x_e,t)=0 x˙e=f(xe,t)=0
的状态xex_exe称为平衡状态;线性定常系统x˙=Ax\\dot{x}=Axx˙=Ax,其平衡状态满足Axe=0Ax_e=0Axe=0,当AAA为非奇异矩阵时,系统只有唯一的零解,即只存在一个位于状态空间原点的平衡状态,若AAA为奇异矩阵,则系统存在有无穷多个平衡状态,对于非线性系统,可能有一个或多个平衡状态;
-
李雅普诺夫意义下的稳定性
设系统初始状态位于以平衡状态xex_exe为球心、δ\\deltaδ为半径的闭球域S(δ)S(\\delta)S(δ)内,即:
∣∣x0−xe∣∣≤δ,t=t0||x_0-x_e||≤\\delta,t=t_0 ∣∣x0−xe∣∣≤δ,t=t0
若能使系统方程的解x(t;x0,t0)x(t;x_0,t_0)x(t;x0,t0)在t→∞t\\to\\inftyt→∞的过程中,都位于以xex_exe为球心、任意规定的半径为ε\\varepsilonε的闭球域S(ε)S(\\varepsilon)S(ε)内,即:
∣∣x(t;x0,t0)−x0∣∣≤ε,t≥t0||x(t;x_0,t_0)-x_0||≤\\varepsilon,t≥t_0 ∣∣x(t;x0,t0)−x0∣∣≤ε,t≥t0
则称系统的平衡状态xex_exe在李雅普诺夫意义下是稳定的;式中:∣∣⋅∣∣||·||∣∣⋅∣∣为欧几里得范数,其几何意义是空间距离的尺度,如∣∣x0−xe∣∣||x_0-x_e||∣∣x0−xe∣∣表示状态空间x0x_0x0点至xex_exe点之间距离的尺度,数学表达式为:
∣∣x0−xe∣∣=(x10−x1e)2+⋯+(xn0−xne)2||x_0-x_e||=\\sqrt{(x_{10}-x_{1e})^2+\\cdots+(x_{n0}-x_{ne})^2} ∣∣x0−xe∣∣=(x10−x1e)2+⋯+(xn0−xne)2 -
渐近稳定性
若系统的平衡状态xex_exe不仅具有李雅普诺夫意义下的稳定性,且有:
limt→∞∣∣x(t;x0,t0)−xe∣∣=0\\lim_{t\\to\\infty}||x(t;x_0,t_0)-x_e||=0 t→∞lim∣∣x(t;x0,t0)−xe∣∣=0
则称此平衡状态是渐近稳定的; -
大范围(全局)渐近稳定性
当初始条件扩展至整个状态空间,且平衡状态均具有渐近稳定性时,称此平衡状态是大范围渐近稳定的,此时δ→∞,S(δ)→∞\\delta\\to\\infty,S(\\delta)\\to\\inftyδ→∞,S(δ)→∞;当t→∞t\\to\\inftyt→∞时,由状态空间中任一点出发的轨迹都收敛至xxx;
对于严格线性的系统,如果它是渐近稳定的,则必定是大范围渐近稳定的,对于非线性系统来说,其稳定性与初始条件密切相关,系统渐近稳定不一定是大范围渐近稳定;
-
不稳定性
如果对于某个实数ε>0\\varepsilon>0ε>0和任一个实数δ>0\\delta>0δ>0,不管这两个实数有多小,在S(δ)S(\\delta)S(δ)内总存在一个状态x0x_0x0,使得由这一状态出发的轨迹超出S(ε)S(\\varepsilon)S(ε),则平衡状态xex_exe称为是不稳定的;
3.2 李雅普诺夫第一法(间接法)
李雅普诺夫第一法是利用状态方程解的特性来判断系统稳定性的方法,适用于线性定常、线性时变及非线性函数可线性化的情况;
定理9:对于线性定常系统x˙=Ax,x(0)=x0,t≥0\\dot{x}=Ax,x(0)=x_0,t≥0x˙=Ax,x(0)=x0,t≥0,有:
- 系统的每一平衡状态是在李雅普诺夫意义下稳定的充分必要条件:AAA的所有特征值均具有非正(负或零)实部,且具有零实部的特征值为AAA的最小多项式的单根;
- 系统的唯一平衡状态xe=0x_e=0xe=0是渐近稳定的充分必要条件:AAA的所有特征值均具有负实部;
3.3 李雅普诺夫第二法(直接法)
李雅普诺夫提出,可虚构一个能量函数,被称为李雅普诺夫函数,一般它与x1,x2,⋯,xnx_1,x_2,\\cdots,x_nx1,x2,⋯,xn及ttt有关,记为V(x,t)V(x,t)V(x,t);
若不显含ttt,则记为V(x)V(x)V(x);它是一个标量函数,考虑到能量总是大于零,故为正定函数;能量衰减特性用V˙(x,t)\\dot{V}(x,t)V˙(x,t)或V˙(x)\\dot{V}(x)V˙(x)表示;李雅普诺夫第二法用VVV及V˙\\dot{V}V˙的符号特征,直接对平衡状态稳定性做出判断,无需求出系统状态方程的解;
对于线性系统,通常用二次型函数xTPxx^TPxxTPx作为李雅普诺夫函数;
-
标量函数定号性简单介绍
正定性:标量函数V(x)V(x)V(x)对所有在域SSS中的非零状态xxx有V(x)>0V(x)>0V(x)>0且V(0)=0V(0)=0V(0)=0,则在域SSS内的标量函数V(x)V(x)V(x)称为是正定的;
负定性:如果−V(x)-V(x)−V(x)是正定函数,则标量函数V(x)V(x)V(x)称为负定函数;
正半定性:如果标量函数V(x)V(x)V(x)除了原点及某些状态处等于零外,在域SSS内的所有状态都是正定的,则V(x)V(x)V(x)称为正半定函数;
负半定性:如果−V(x)-V(x)−V(x)是正半定函数,则标量函数V(x)V(x)V(x)称为负半定函数;
不定性:如果在域SSS内,不论域SSS多么小,V(x)V(x)V(x)即可为正值,也可为负值,则标量函数V(x)V(x)V(x)称为不定函数;
-
李雅普诺夫第二法主要定理
定理10(定常系统大范围渐近稳定判别定理1):对于定常系统:
x˙=f(x),t≥0\\dot{x}=f(x),t≥0 x˙=f(x),t≥0
其中:f(0)=0f(0)=0f(0)=0,如果存在一个具有连续一阶导数的标量函数V(x),V(0)=0V(x),V(0)=0V(x),V(0)=0,且对于状态空间XXX中的一切非零点xxx满足如下条件:- V(x)V(x)V(x)为正定;
- V˙(x)\\dot{V}(x)V˙(x)为负定;
- 当∣∣x∣∣→∞||x||\\to\\infty∣∣x∣∣→∞时V(x)→∞V(x)\\to\\inftyV(x)→∞.
则系统的原点平衡点状态是大范围渐近稳定的.
实例分析:
Example1: 设系统状态方程为:
x˙1=x2−x1(x12+x22)x˙2=−x1−x2(x12+x22)\\begin{aligned} &\\dot{x}_1=x_2-x_1(x_1^2+x_2^2)\\\\ &\\dot{x}_2=-x_1-x_2(x_1^2+x_2^2) \\end{aligned} x˙1=x2−x1(x12+x22)x˙2=−x1−x2(x12+x22)
确定系统的稳定性.解:
原点(x1=0,x2=0)(x_1=0,x_2=0)(x1=0,x2=0)是该系统唯一的平衡状态;
选定正定标量函数V(x)V(x)V(x)为:
V(x)=x12+x22V(x)=x_1^2+x_2^2 V(x)=x12+x22
则沿任意轨迹V(x)V(x)V(x)对时间的导数:
V˙(x)=2x1x˙1+2x2x˙2=−2(x12+x22)2\\dot{V}(x)=2x_1\\dot{x}_1+2x_2\\dot{x}_2=-2(x_1^2+x_2^2)^2 V˙(x)=2x1x˙1+2x2x˙2=−2(x12+x22)2
是负定的.说明V(x)V(x)V(x)沿任意轨迹是连续减小的,因此V(x)V(x)V(x)是一个李雅普诺夫函数.
由于当∣∣x∣∣→∞||x||\\to\\infty∣∣x∣∣→∞时V(x)→∞V(x)\\to\\inftyV(x)→∞,所以系统在原点处的平衡状态是大范围渐近稳定的.
定理11(定常系统大范围渐近稳定判别定理2):对于定常系统,如果存在一个具有连续一阶导数的标量V(x),V(x)=0V(x),V(x)=0V(x),V(x)=0,且对状态空间XXX中的一切非零点xxx满足如下条件:
- V(x)V(x)V(x)为正定;
- V˙(x)\\dot{V}(x)V˙(x)为负半定;
- 对任意x∈X,V˙(x(t;x0,0))≢0x\\in{X},\\dot{V}(x(t;x_0,0))\\not \\equiv0x∈X,V˙(x(t;x0,0))≡0;
- 当∣∣x∣∣→∞||x||\\to\\infty∣∣x∣∣→∞时,V(x)→∞V(x)\\to\\inftyV(x)→∞.
则系统的原点平衡状态是大范围渐近稳定的.
实例分析:
Example2: 已知定常系统状态方程为:
x˙1=x2x˙2=−x1−(1+x2)2x2\\begin{aligned} &\\dot{x}_1=x_2\\\\ &\\dot{x}_2=-x_1-(1+x_2)^2x_2 \\end{aligned} x˙1=x2x˙2=−x1−(1+x2)2x2
确定系统的稳定性.解:
原点(x1=0,x2=0)(x_1=0,x_2=0)(x1=0,x2=0)为系统唯一的平衡状态.
取V(x)=x12+x22V(x)=x_1^2+x_2^2V(x)=x12+x22,且有:
V(x)=x12+x22V(x)=x_1^2+x_2^2V(x)=x12+x22为正定,
V˙(x)=2x1x˙1+2x2x˙2=−2x22(1+x2)2\\dot{V}(x)=2x_1\\dot{x}_1+2x_2\\dot{x}_2=-2x_2^2(1+x_2)^2V˙(x)=2x1x˙1+2x2x˙2=−2x22(1+x2)2.容易看出,除了①x1x_1x1任意,x2=0x_2=0x2=0;②x1x_1x1任意,x2=−1x_2=-1x2=−1时,V˙(x)=0\\dot{V}(x)=0V˙(x)=0外,均有V˙(x)<0\\dot{V}(x)<0V˙(x)<0,所以,V˙(x)\\dot{V}(x)V˙(x)为负半定.
检查是否V˙(x(t;x0,0))≢0\\dot{V}(x(t;x_0,0))\\not\\equiv0V˙(x(t;x0,0))≡0.考虑到使得V˙(x)=0\\dot{V}(x)=0V˙(x)=0的可能性只有上述①和②两种情况,所有问题归结为判断这两种情况是否为系统的受扰运动解.
考察情况①:设x‾(t;x0,0)=[x1(t)0]T\\overline{x}(t;x_0,0)=\\begin{bmatrix}x_1(t) & 0\\end{bmatrix}^Tx(t;x0,0)=[x1(t)0]T,则由x2(t)≡0x_2(t)\\equiv0x2(t)≡0可导出x˙2=0\\dot{x}_2=0x˙2=0,将此代入系统状态方程可得:
x˙1(t)=x2(t)=00=x˙2(t)=−(1+x2(t))2x2(t)−x1(t)=−x1(t)\\begin{aligned} &\\dot{x}_1(t)=x_2(t)=0\\\\ &0=\\dot{x}_2(t)=-(1+x_2(t))^2x_2(t)-x_1(t)=-x_1(t) \\end{aligned} x˙1(t)=x2(t)=00=x˙2(t)=−(1+x2(t))2x2(t)−x1(t)=−x1(t)
表明,除了点(x1=0,x2=0)(x_1=0,x_2=0)(x1=0,x2=0)外,x‾(t;x0,0)=[x1(t)0]T\\overline{x}(t;x_0,0)=[x_1(t)\\ \\ 0]^Tx(t;x0,0)=[x1(t) 0]T不是系统的受扰运动解.考察情况②:设x‾(t;x0,0)=[x1(t)−1]T\\overline{x}(t;x_0,0)=[x_1(t) \\ \\ \\ -1]^Tx(t;x0,0)=[x1(t) −1]T,则由x2(t)=−1x_2(t)=-1x2(t)=−1可导出x˙2(t)=0\\dot{x}_2(t)=0x˙2(t)=0,将此代入系统状态方程可得:
x˙1(t)=x2(t)=−10=x˙2(t)=−(1+x2(t))2x2(t)−x1(t)=−x1(t)\\begin{aligned} &\\dot{x}_1(t)=x_2(t)=-1\\\\ &0=\\dot{x}_2(t)=-(1+x_2(t))^2x_2(t)-x_1(t)=-x_1(t) \\end{aligned} x˙1(t)=x2(t)=−10=x˙2(t)=−(1+x2(t))2x2(t)−x1(t)=−x1(t)
这是一个矛盾的结果,表明x‾(t;x0,0)=[x1(t)−1]T\\overline{x}(t;x_0,0)=[x_1(t) \\ \\ \\ -1]^Tx(t;x0,0)=[x1(t) −1]T也不是系统受扰运动解.综合以上分析,V˙(x(t;x0,0))≢0\\dot{V}(x(t;x_0,0))\\not\\equiv0V˙(x(t;x0,0))≡0.
当∣∣x∣∣→∞||x||\\to\\infty∣∣x∣∣→∞时,显然有V(x)=∣∣x∣∣2→∞V(x)=||x||^2\\to\\inftyV(x)=∣∣x∣∣2→∞.
因此,系统的原点平衡状态是大范围渐近稳定的.
定理12(不稳定判别定理):对于定常系统,如果存在一个具有连续一阶导数的标量函数V(x)V(x)V(x)(V(0)=0V(0)=0V(0)=0),和围绕原点的域Ω\\OmegaΩ,使得对于一切x∈Ωx\\in\\Omegax∈Ω和一切t≥t0t≥t_0t≥t0满足如下条件:
- V(x)V(x)V(x)为正定;
- V(x)˙\\dot{V(x)}V(x)˙为正定;
则系统平衡状态为不稳定.
3.4 线性定常系统的李雅普诺夫稳定性分析
-
线性定常连续系统渐近稳定性的判别
设线性定常系统状态方程为:
x˙=Ax,x(0)=x0,t≥0\\dot{x}=Ax,x(0)=x_0,t≥0 x˙=Ax,x(0)=x0,t≥0
AAA为非奇异矩阵.故原点是唯一平衡状态.设取正定二次型函数V(x)=xTPxV(x)=x^TPxV(x)=xTPx作为可能的李雅普诺夫函数,考虑到系统状态方程,则有:
V˙(x)=x˙TPx+xTPx˙=xT(ATP+PA)x\\dot{V}(x)=\\dot{x}^TPx+x^TP\\dot{x}=x^T(A^TP+PA)x V˙(x)=x˙TPx+xTPx˙=xT(ATP+PA)x
令:
ATP+PA=−Q(1)A^TP+PA=-Q\\tag{1} ATP+PA=−Q(1)
有:
V˙(x)=−xTQx\\dot{V}(x)=-x^TQx V˙(x)=−xTQx
线性定常连续系统渐近稳定的充分必要条件:给定一正定矩阵PPP,存在着满足式(1)(1)(1)的正定矩阵QQQ,xTPxx^TPxxTPx是该系统的一个李雅普诺夫函数,式(1)(1)(1)称为李雅普诺夫矩阵代数方程。使用中常选取QQQ阵为单位阵或对角线阵。定理13:线性定常系统x˙=Ax,x(0)=x0,t≥0\\dot{x}=Ax,x(0)=x_0,t≥0x˙=Ax,x(0)=x0,t≥0的原点平衡状态xe=0x_e=0xe=0为渐近稳定的充分必要条件:对于任意给定的一个正定对称矩阵QQQ,有唯一的正定对称矩阵PPP使式(1)(1)(1)成立.
实例分析:
Example3: 已知线性定常连续系统状态方程为:
x˙1=x2,x˙2=2x1−x2\\dot{x}_1=x_2,\\dot{x}_2=2x_1-x_2 x˙1=x2,x˙2=2x1−x2
用李雅普诺夫方程判定系统的渐近稳定性.解:
先用特征值判据判断,系统状态方程为:
x˙=[012−1]x,A=[012−1]\\dot{x}= \\begin{bmatrix} 0 & 1\\\\ 2 & -1 \\end{bmatrix}x, A= \\begin{bmatrix} 0 & 1\\\\ 2 & -1 \\end{bmatrix} x˙=[021−1]x,A=[021−1]∣λI−A∣=∣λ−1−2λ+1∣=λ2+λ−2=(λ−1)(λ+2)=0|\\lambda{I}-A|= \\begin{vmatrix} \\lambda & -1\\\\ -2 & \\lambda+1 \\end{vmatrix}= \\lambda^2+\\lambda-2=(\\lambda-1)(\\lambda+2)=0 ∣λI−A∣=λ−2−1λ+1=λ2+λ−2=(λ−1)(λ+2)=0
特征值为:−2,1-2,1−2,1,故系统不稳定.
令:
ATP+PA=−Q=−IA^TP+PA=-Q=-I ATP+PA=−Q=−IP=PT=[P11P12P21P22]P=P^T= \\begin{bmatrix} P_{11} & P_{12}\\\\ P_{21} & P_{22} \\end{bmatrix} P=PT=[P11P21P12P22]
则有:
[021−1][P11P12P21P22]+[P11P12P21P22][012−1]=[−100−1]\\begin{bmatrix} 0 & 2\\\\ 1 & -1 \\end{bmatrix}\\begin{bmatrix} P_{11} & P_{12}\\\\ P_{21} & P_{22} \\end{bmatrix}+ \\begin{bmatrix} P_{11} & P_{12}\\\\ P_{21} & P_{22} \\end{bmatrix}\\begin{bmatrix} 0 & 1\\\\ 2 & -1 \\end{bmatrix}= \\begin{bmatrix} -1 & 0\\\\ 0 & -1 \\end{bmatrix} [012−1][P11P21P12P22]+[P11P21P12P22][021−1]=[−100−1]
展开:
4P12=−1,2P12−2P22=−1,P11−P12+2P22=04P_{12}=-1,2P_{12}-2P_{22}=-1,P_{11}-P_{12}+2P_{22}=0 4P12=−1,2P12−2P22=−1,P11−P12+2P22=0
解得:
P=[P11P12P21P22]=[−34−14−1414]P= \\begin{bmatrix} P_{11} & P_{12}\\\\ P_{21} & P_{22} \\end{bmatrix}= \\begin{bmatrix} -\\displaystyle\\frac{3}{4} & -\\displaystyle\\frac{1}{4}\\\\ -\\displaystyle\\frac{1}{4} & \\displaystyle\\frac{1}{4} \\end{bmatrix} P=[P11P21P12P22]=−43−41−4141
由于P11=−34,detP=−14<0P_{11}=-\\displaystyle\\frac{3}{4},\\det{P}=-\\displaystyle\\frac{1}{4}<0P11=−43,detP=−41<0,故PPP不定,可知系统非渐近稳定.由特征值判据知系统是不稳定的. -
线性定常离散系统渐近稳定性的判别
设线性定常离散系统状态方程为:
x(k+1)=Φx(k),x(0)=x0;k=0,1,2,⋯,x(k+1)=\\Phi{x}(k),x(0)=x_0;k=0,1,2,\\cdots, x(k+1)=Φx(k),x(0)=x0;k=0,1,2,⋯,
式中:Φ\\PhiΦ阵为非奇异;原点是平衡状态.取正定二次型函数:
V(x(k))=xT(k)Px(k)V(x(k))=x^T(k)Px(k) V(x(k))=xT(k)Px(k)
以ΔV(x(k))\\Delta{V}(x(k))ΔV(x(k))代替V˙(x)\\dot{V}(x)V˙(x),有:
ΔV(x(k))=V(x(k+1))−V(x(k))\\Delta{V}(x(k))=V(x(k+1))-V(x(k)) ΔV(x(k))=V(x(k+1))−V(x(k))
考虑到线性定常离散系统状态方程式有:
ΔV(x(k))=xT(k)(ΦTPΦ−P)x(k)\\Delta{V}(x(k))=x^T(k)(\\Phi^TP\\Phi-P)x(k) ΔV(x(k))=xT(k)(ΦTPΦ−P)x(k)
令:
ΦTPΦ−P=−Q(2)\\Phi^TP\\Phi-P=-Q\\tag{2} ΦTPΦ−P=−Q(2)
有:
ΔV(x(k))=−xT(k)Qx(k)\\Delta{V(x(k))}=-x^T(k)Qx(k) ΔV(x(k))=−xT(k)Qx(k)
定理14:线性定常离散系统渐近稳定的充分必要条件:给定任一正定对称矩阵QQQ,存在一个正定对称矩阵PPP使式(2)(2)(2)成立;xT(k)Px(k)x^T(k)Px(k)xT(k)Px(k)是系统的一个李雅普诺夫函数,式(2)(2)(2)称为离散的李雅普诺夫代数方程,通常可取Q=IQ=IQ=I.
如果ΔV(x(k))\\Delta{V}(x(k))ΔV(x(k))沿任一解的序列不恒为零,则QQQ可取为正半定矩阵.
-
李雅普诺夫稳定性判据汇总表:
3.5 MATLAB/SIMULINK在李雅普诺夫稳定性分析中的应用
- P=lyap(A,Q){\\rm P=lyap(A,Q)}P=lyap(A,Q):A{\\rm A}A是已知系统的状态矩阵,Q{\\rm Q}Q是给定的正定对称矩阵,P{\\rm P}P是李雅普诺夫方程AP+PAT+Q=0{\\rm AP+PA^T+Q=0}AP+PAT+Q=0的解,即正定实对称矩阵P{\\rm P}P;
- P=lyap2(A,Q){\\rm P=lyap2(A,Q)}P=lyap2(A,Q):A{\\rm A}A是已知系统的状态矩阵,Q{\\rm Q}Q是给定的正定对称矩阵,P{\\rm P}P是李雅普诺夫方程AP+PAT+Q=0{\\rm AP+PA^T+Q=0}AP+PAT+Q=0的解,即正定实对称矩阵P{\\rm P}P;lyap2(){\\rm lyap2()}lyap2()采用特征值分解法求解李雅普诺夫方程,运算速度比lyap(){\\rm lyap()}lyap()快;
- P=dlyap(A,Q){\\rm P=dlyap(A,Q)}P=dlyap(A,Q):A{\\rm A}A是已知系统的状态矩阵,Q{\\rm Q}Q是给定的正定对称矩阵,P{\\rm P}P是李雅普诺夫方程AP+PAT+Q=0{\\rm AP+PA^T+Q=0}AP+PAT+Q=0的解,即正定实对称矩阵P{\\rm P}P,用于离散系统求解;
【实战】:已知系统状态矩阵A=[01−1−1]A=\\begin{bmatrix}0 & 1\\\\-1 & -1\\end{bmatrix}A=[0−11−1],给定正定对称矩阵Q=[1001]Q=\\begin{bmatrix}1 & 0\\\\0 & 1\\end{bmatrix}Q=[1001],确定李雅普诺夫方程的解P{\\rm P}P;
解:
% 实例Chapter9.3.5
clc;clear;A=[0,1;-1,-1]; % 状态矩阵
Q=[1,0;0,1]; % 给定的正定对称矩阵
P=lyap(A',Q)% 求解得到的矩阵P
% P =
% 1.5000 0.5000
% 0.5000 1.0000
3.6 综合实例及MATLAB/SIMULINK应用
实验要求:已知线性定常系统状态空间表达式如下:
{[x1′x2′x3′]=[0100−21−10−1][x1x2x3]+[001]uy=[100][x1x2x3]\\begin{cases} &\\begin{bmatrix} x_1'\\\\ x_2'\\\\ x_3' \\end{bmatrix}=\\begin{bmatrix} 0 & 1 & 0\\\\ 0 & -2 & 1\\\\ -1 & 0 & -1 \\end{bmatrix}\\begin{bmatrix} x_1\\\\ x_2\\\\ x_3 \\end{bmatrix}+\\begin{bmatrix} 0\\\\0\\\\1 \\end{bmatrix}u\\\\\\\\ &y=\\begin{bmatrix} 1 & 0 & 0 \\end{bmatrix}\\begin{bmatrix} x_1\\\\ x_2\\\\ x_3 \\end{bmatrix} \\end{cases} ⎩⎨⎧x1′x2′x3′=00−11−2001−1x1x2x3+001uy=[100]x1x2x3
使用MATLAB{\\rm MATLAB}MATLAB进行以下分析:
- 分析系统的可控性、可观测性;
- 对系统进行非奇异线性变换,使其状态转移矩阵对角化,进而分析变换后系统的可控性、可观性;
- 分析系统的稳定性,绘制系统的阶跃响应曲线;
- 使用LTIViewer{\\rm LTI\\ Viewer}LTI Viewer工具绘制上述系统的阶跃响应和冲激响应曲线;
解:
【STEP1{\\rm STEP1}STEP1】:建立控制系统的数学模型。
% 实例Chapter9.3.6
clc;clear;% 建立系统的数学模型
A=[0,1,0;0,-2,1;-1,0,-1];
B=[0;0;1];C=[1,0,0];D=0;
sys=ss(A,B,C,D)
% 控制系统数学模型结果
sys =A = x1 x2 x3x1 0 1 0x2 0 -2 1x3 -1 0 -1B = u1x1 0x2 0x3 1C = x1 x2 x3y1 1 0 0D = u1y1 0
【STEP2{\\rm STEP2}STEP2】:系统的可控性、可观性。
% 控制系统的可控性、可观性
control_matrix=ctrb(A,B);
rank_control=rank(control_matrix);if rank_control<3disp('系统不可控!');
elsedisp('系统完全可控!');
endobserve_matrix=obsv(A,C);
rank_observe=rank(observe_matrix);if rank_observe<3disp('系统不可观!');
elsedisp('系统完全可观!');
end
% 系统的可控性、可观性结果
系统完全可控!
系统完全可观!
【STEP3{\\rm STEP3}STEP3】:对系统进行线性对角化变换。
% 系统进行线性对角化变换
[V,S]=eig(A); % 求取矩阵特征值和特征向量
if rank(V)==3 % 矩阵满秩,进行对角化变换AA=inv(V)*A*V;BB=inv(V)*B;CC=C*V;disp('系统对角化变换后的新系统模型:');sys_diag=ss(AA,BB,CC,D)
elsedisp('这个系统不可对角化!');
end
% 线性对角化变换后系统模型
系统对角化变换后的新系统模型:sys_diag =A = x1 x2 x3x1 -0.338+0.562i -5e-16-2.5e-16i 2.78e-17+6.18e-16ix2 -3.89e-16+2.78e-16i -0.338-0.562i -8.33e-17-8.4e-16ix3 3.33e-16+1.95e-16i 3.33e-16-2.21e-16i -2.32-4.99e-17iB = u1x1 0.593+0.398ix2 0.593-0.398ix3 -0.619-1.57e-18iC = x1 x2 x3y1 -0.459-0.39i -0.459+0.39i -0.379D = u1y1 0
【STEP4{\\rm STEP4}STEP4】:线性变换后系统可控性、可观性。
% 线性变换后控制系统的可控性、可观性
control_matrix=ctrb(AA,BB);
rank_control=rank(control_matrix);if rank_control<3disp('变换后系统不可控!');
elsedisp('变换后系统完全可控!');
endobserve_matrix=obsv(AA,CC);
rank_observe=rank(observe_matrix);if rank_observe<3disp('变换后系统不可观!');
elsedisp('变换后系统完全可观!');
end% 线性变换后可控性、可观性结果
% 变换后系统完全可控!
% 变换后系统完全可观!
【STEP5{\\rm STEP5}STEP5】:分析系统的稳定性。
% 利用李雅普诺夫方法分析系统的稳定性
P=lyap(A',eye(3))% 系统稳定性结果:P矩阵为正定矩阵,系统渐近稳定。
%P =
% 3.5000 1.5000 0.5000
% 1.5000 1.0000 0.5000
% 0.5000 0.5000 1.0000
【STEP6{\\rm STEP6}STEP6】:绘制系统的阶跃响应曲线。
% 绘制系统的阶跃响应曲线
step(sys)
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('控制系统阶跃响应','FontSize',15);
【STEP7{\\rm STEP7}STEP7】:使用LTIViewer{\\rm LTI\\ Viewer}LTI Viewer工具进行分析。
ltiview;
【完整代码】
% 实例Chapter9.3.6
clc;clear;% STEP1:建立系统的数学模型
A=[0,1,0;0,-2,1;-1,0,-1];
B=[0;0;1];C=[1,0,0];D=0;
sys=ss(A,B,C,D)% STEP2:控制系统的可控性、可观性
control_matrix=ctrb(A,B);
rank_control=rank(control_matrix);if rank_control<3disp('系统不可控!');
elsedisp('系统完全可控!');
endobserve_matrix=obsv(A,C);
rank_observe=rank(observe_matrix);if rank_observe<3disp('系统不可观!');
elsedisp('系统完全可观!');
end% STEP3:系统进行线性对角化变换
[V,S]=eig(A); % 求取矩阵特征值和特征向量
if rank(V)==3 % 矩阵满秩,进行对角化变换AA=inv(V)*A*V;BB=inv(V)*B;CC=C*V;disp('系统对角化变换后的新系统模型:');sys_diag=ss(AA,BB,CC,D)
elsedisp('这个系统不可对角化!');
end% STEP4:线性变换后控制系统的可控性、可观性
control_matrix=ctrb(AA,BB);
rank_control=rank(control_matrix);if rank_control<3disp('变换后系统不可控!');
elsedisp('变换后系统完全可控!');
endobserve_matrix=obsv(AA,CC);
rank_observe=rank(observe_matrix);if rank_observe<3disp('变换后系统不可观!');
elsedisp('变换后系统完全可观!');
end% STEP5:利用李雅普诺夫方法分析系统的稳定性
P=lyap(A',eye(3))% STEP6:绘制系统的阶跃响应曲线
step(sys)
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
title('控制系统阶跃响应','FontSize',15);