中南大学现代控制理论实验报告指导老师:年晓红、郭宇骞姓名:学号:专业班级:实验日期: 2015.6.11 学院:信息科学与工程学院实验1 用MATLAB分析状态空间模型1、实验设备PC计算机1台,MATLAB软件1套。
2、实验目的①学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;②通过编程、上机调试,掌握系统状态空间表达式与传递函数相互转换方法学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应;③通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制状态响应曲线;④掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。
3、实验原理说明参考教材P56~59“2.7 用MATLAB分析状态空间模型”参考教材P99~101“3.8 利用MATLAB求解系统的状态方程”4、实验步骤①根据所给系统的传递函数或A、B、C矩阵,依据系统的传递函数阵和状态空间表达式之间的关系式,采用MATLAB编程。
②在MATLAB界面下调试程序,并检查是否运行正确。
③根据所给系统的状态方程,依据系统状态方程的解的表达式,采用MATLAB编程。
④ 在MATLAB 界面下调试程序,并检查是否运行正确。
5、实验习题题1.1 已知SISO 系统的传递函数为243258()2639s s g s s s s s ++=++++ (1)将其输入到MATLAB 工作空间;(2)获得系统的状态空间模型。
解:(1)num=[1,5,8] ; den=[1,2,6,3,9] ;G=tf(num , den)Transfer function:s^2 + 5 s + 8-----------------------------s^4 + 2 s^3 + 6 s^2 + 3 s + 9(2)G1=ss(G)a =x1 x2 x3 x4x1 -2 -1.5 -0.75 -2.25x2 4 0 0 0x3 0 1 0 0x4 0 0 1 0b =u1x1 2x2 0x3 0x4 0c =x1 x2 x3 x4y1 0 0.125 0.625 1d =u1y1 0Continuous-time model.题1.2 已知SISO 系统的状态空间表达式为112233010100134326x x x x u x x ⎡⎤⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦⎣⎦⎣⎦&&&,[]123100x y x x ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦(1)将其输入到MATLAB工作空间;(2)求系统的传递函数。
解:(1)A=[0,1,0;0,0,1;-4,-3,-2];B=[1;3;-6];C=[1,0,0];D=0;G=ss(A,B,C,D)a =x1 x2 x3x1 0 1 0x2 0 0 1x3 -4 -3 -2b =u1x1 1x2 3x3 -6c =x1 x2 x3y1 1 0 0d =u1y1 0Continuous-time model.(2)G1=tf(G)Transfer function:s^2 + 5 s + 3---------------------s^3 + 2 s^2 + 3 s + 4题1.3 已知SISO 系统的状态方程为[]01323011x x u y x⎡⎤⎡⎤=+⎢⎥⎢⎥--⎣⎦⎣⎦=&(1)0u =,()101x ⎡⎤=⎢⎥-⎣⎦,求当t =0.5时系统的矩阵系数及状态响应;(2)1()u t =,()000x ⎡⎤=⎢⎥⎣⎦,绘制系统的状态响应及输出响应曲线; (3)1cos3t u e t -=+,()000x ⎡⎤=⎢⎥⎣⎦,绘制系统的状态响应及输出响应曲线; (4)0u =,()102x ⎡⎤=⎢⎥⎣⎦,绘制系统的状态响应及输出响应曲线; (5)在余弦输入信号和初始状态()101x ⎡⎤=⎢⎥⎣⎦下的状态响应曲线。
解:(1)A=[0,1;-2,-3];B=[3;0];expm(A*0.5)A=[0,1;-2,-3];B=[3;0];expm(A*0.5)ans*[1;-1]ans =0.8452 0.2387-0.4773 0.1292ans =0.8452 0.2387-0.4773 0.1292ans =0.6065-0.6065(2)A=[0,1;-2,-3]; B=[3;0];C=[1,1]; D=[0]; G=ss(A,B,C,D); [y,t,x]=step(G);plot(t,x)(3)A=[0,1;-2,-3]; B=[3;0];C=[1,1]; D=[0];t=[0:.02:4];u=1+exp(-t).*cos(3*t);G=ss(A,B,C,D);[y,t,x]=lsim(G,u,t);plot(t,x)plot(t,y)(4)A=[0,1;-2,-3]; B=[3;0];C=[1,1]; D=[0];t=[0:.02:4];u=0;G=ss(A,B,C,D);x0=[1;2];[y,t,x]=initial (G,x0,t);plot(t,x)plot(t,y)(5)A=[0,1;-2,-3]; B=[3;0];C=[1,1]; D=[0];t=[0:.02:4];u=cos(t);G=ss(A,B,C,D);x0=[1;1];[y,t,x]=lsim(G,u,t,x0);plot(t,x)题1.4 已知一个连续系统的状态方程是0102541x x u ⎡⎤⎡⎤=+⎢⎥⎢⎥--⎣⎦⎣⎦& 若取采样周期0.05T =秒(1)试求相应的离散化状态空间模型;(2)分析不同采样周期下,离散化状态空间模型的结果。
解:A=[0,1;-25,-4];B=[0;1];[G,H]=c2d(A,B,0.05)G =0.9709 0.0448-1.1212 0.7915H =0.00120.04486、实验总结①学会了系统状态空间表达式的建立方法、了解了系统状态空间表达式与传递函数相互转换的方法;掌握了系统状态空间表达式与传递函数相互转换方法学习系统齐次、非齐次状态方程求解的方法;学会了计算矩阵指数,求状态响应和绘制状态响应曲线;掌握了利用MATLAB导出连续状态空间模型的离散化模型的方法。
②在MATLAB界面下调试程序,还是发现了一些问题,比如函数使用错误和参数未定义等。
但后来经过反复的练习已经能很清楚的分清各个函数的用法。
实验2 系统的能控性、能观测性分析PC计算机1台,MATLAB软件1套。
2、实验目的①学习系统状态能控性、能观测性的定义及判别方法;②通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判上使用别方法,掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。
学习系统稳定性的定义及李雅普诺夫稳定性定理;通过用MATLAB编程、上机调试,掌握系统稳定性的判别方法。
3、实验原理说明参考教材P117~118“4.2.4 利用MATLAB判定系统能控性”参考教材P P124~125“4.3.3 利用MATLAB判定系统能观测性”4、实验步骤①根据系统的系数阵A和输入阵B,依据能控性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。
②根据系统的系数阵A和输出阵C,依据能观性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。
③构造变换阵,将一般形式的状态空间描述变换成能控标准形、能观标准形。
④参考教材P178~181“5.3.4 利用MATLAB进行稳定性分析”⑤掌握利用李雅普诺夫第一方法判断系统稳定性;⑥掌握利用李雅普诺夫第二方法判断系统稳定性。
题2.1 已知系数阵A 和输入阵B 分别如下,判断系统的状态能控性⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=2101013333.06667.10666.6A , ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=110B 解:A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];B=[0;1;1];Uc=[B,A*B,A^2*B]n=length(A);flag=rank(Uc);if flag==ndisp('系统可控');else disp('系统不可控');endUc =0 -11.0000 -84.99261.0000 1.0000 -8.00001.0000 3.0000 7.0000系统可控题2.2 已知系数阵A 和输出阵C 分别如下,判断系统的状态能观性。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=2101013333.06667.10666.6A , []201=C 解:A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];C=[1,0,2];Uo=[C;C*A;C*A^2]n1=rank(Uo);n2=length(A);if n2==n1disp('系统可观')elsedisp('系统不可观')endUo =1.0000 02.00006.6660 -8.6667 3.666735.7689 -67.4375 -3.5551系统可观题2.3 已知系统状态空间描述如下[]021151202001110x x u y x-⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦=& (1)判断系统的状态能控性;(2)判断系统的状态能观测性;(3)构造变换阵,将其变换成能控标准形;(4)构造变换阵,将其变换成能观测标准形;解:(1)(2)A=[0,2,-1;5,1,2;-2,0,0]; B=[1;0;-1];C=[1,1,0];n=length(A);Uc=[B,A*B,A^2*B] Uo=[C;C*A;C*A^2] flagC=rank(Uc); flagO=rank(Uo);if n==flagCdisp('系统可控'); endif n==flagOdisp('系统可观'); endUc =1 1 80 3 4-1 -2 -2Uo =1 1 05 3 113 13 1系统可控系统可观(3)p1=[0,0,1]*inv(Uc);P=[p1;p1*A;p1*A^2]Ac=P*A*inv(P)Bc=P*BP =0.1364 0.0455 0.1364-0.0455 0.3182 -0.04551.6818 0.2273 0.6818Ac =0 1.0000 00 0.0000 1.0000 -10.0000 12.0000 1.0000Bc =1.0000(4)T1=inv(Uo)*[0;0;1];T=[T1,A*T1,A^2*T1]Ao=inv(T)*A*TCo=C*TT =-0.5000 0 -1.00000.5000 0 2.00001.0000 1.0000 0Ao =0 0 -101 0 120 1 1Co =0 0 1题2.4 某系统状态空间描述如下[]021151202001110x x u y x-⎡⎤⎡⎤⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦=& (1)利用李雅普诺夫第一方法判断其稳定性;(2)利用李雅普诺夫第二方法判断其稳定性。