1、测控现代控制理论实验报告 中南大学 现代控制理论实验报告 学校:中南大学 学院:信息科学与工程学院 班级:测控 姓名: 学号: 指导老师:郭宇骞 时间:2015年 实验1 用MATLAB分析状态空间模型1、实验设备 PC计算机1台,MATLAB软件1套。2、实验目的 学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法; 通过编程、上机调试,掌握系统状态空间表达式与传递函数相互转换方法学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应; 通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制状态响应曲线; 掌握利用MATLAB导出连续状态空间模型的离
2、散化模型的方法。3、实验原理说明参考教材P5659“2.7用MATLAB分析状态空间模型”参考教材P99101“3.8利用MATLAB求解系统的状态方程”4、实验步骤 根据所给系统的传递函数或A、B、C矩阵,依据系统的传递函数阵和状态空间表达式之间的关系式,采用MATLAB编程。 在MATLAB界面下调试程序,并检查是否运行正确。 根据所给系统的状态方程,依据系统状态方程的解的表达式,采用MATLAB编程。 在MATLAB界面下调试程序,并检查是否运行正确。题1.1 已知SISO系统的传递函数为(1) 将其输入到MATLAB工作空间;num=1,5,8;den=1,2,6,3,9;G=tf(n
3、um,den);Transfer function: s2 + 5 s + 8-s4 + 2 s3 + 6 s2 + 3 s + 9(2) 获得系统的状态空间模型。G1=ss(G)a = x1 x2 x3 x4 x1 -2 -1.5 -0.75 -2.25 x2 4 0 0 0 x3 0 1 0 0 x4 0 0 1 0 b = u1 x1 2 x2 0 x3 0 x4 0 c = x1 x2 x3 x4 y1 0 0.125 0.625 1 d = u1 y1 0题1.2已知SISO系统的状态空间表达式为,(1) 将其输入到MATLAB工作空间; A=0 1 0;0 0 1;-4 -3 -2
4、;B=1;3;6;C=1,0,0;D=0;G=ss(A,B,C,D); a = x1 x2 x3 x1 0 1 0 x2 0 0 1 x3 -4 -3 -2 b = u1 x1 1 x2 3 x3 6 c = x1 x2 x3 y1 1 0 0 d = u1 y1 0 Continuous-time model.(2)求系统的传递函数。G1=tf(G)Transfer function: s2 + 5 s + 15-s3 + 2 s2 + 3 s + 4题1.3 已知SISO系统的状态方程为(1),求当t=0.5时系统的矩阵系数及状态响应;A=0,1;-2,-3;A=expm(A*0.5)A
5、= 0.8452 0.2387 -0.4773 0.1292x0=1;-1;x=expm(A*0.5)*x0x = 1.3543 -1.3543(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)plot(t,y)(3),绘制系统的状态响应及输出响应曲线; A=0,1;-2,-3;B=3;0;C=1,1;D=0;t=0:.04: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)
6、(4),绘制系统的状态响应及输出响应曲线; A=0,1;-2,-3;B=3;0;C=1,1;D=0;t=0:.04:7;u=0;x0=1;2G=ss(A,B,C,D);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=zeros(1,1);x0=1;1;t=0:.04:15;u=cos(t);G=ss(A,B,C,D);G1=tf(G);y,t,x=lsim(G,u,t,x0);/第四个是初始状态plot(t,x)题1.4 已知一个连续系统的状态方程是若取采样周期
7、秒(1) 试求相应的离散化状态空间模型;A=0,1;-25,-4;B=0;1;Gz,Hz=c2d(A,B,0.05)(2)分析不同采样周期下,离散化状态空间模型的结果。实验2 系统的能控性、能观测性分析1、实验设备 PC计算机1台,MATLAB软件1套。2、实验目的 学习系统状态能控性、能观测性的定义及判别方法; 通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判别方法,掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。 学习系统稳定性的定义及李雅普诺夫稳定性定理; 通过用MATLAB编程、上机调试,掌握系统稳定性的判别方法。3、实验原理说明参考教材P117118“4.2.
8、4利用MATLAB判定系统能控性”参考教材P P124125“4.3.3利用MATLAB判定系统能观测性”4、实验步骤 根据系统的系数阵A和输入阵B,依据能控性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。 根据系统的系数阵A和输出阵C,依据能观性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。 构造变换阵,将一般形式的状态空间描述变换成能控标准形、能观标准形。 参考教材P178181“5.3.4利用MATLAB进行稳定性分析” 掌握利用李雅普诺夫第一方法判断系统稳定性; 掌握利用李雅普诺夫第二方法判断系统稳
9、定性。题2.1已知系数阵A和输入阵B分别如下,判断系统的状态能控性, A=6.666,-10.667,-0.3333;1,0,1;0,1,2;B=0;1;1;Uc=B,A*B,A2*B;rank(Uc)ans = 3等于系统维数 可控的题2.2已知系数阵A和输出阵C分别如下,判断系统的状态能观性。, A=6.666,-10.667,-0.3333;1,0,1;0,1,2;C=1,0,2;Uo=C;C*A;C*A2;rank(Uo)ans = 3可观测题2.3已知系统状态空间描述如下(1) 判断系统的状态能控性;(2) 判断系统的状态能观测性; A=0,2,-1;5,1,2;-2,0,0;B=1
10、;0;-1;C=1,1,0;Uc=B,A*B,A2*B;Uo=C;C*A;C*A2;a=rank(Uc)b=rank(Uo)a = 3b = 3可控可观测(3) 构造变换阵,将其变换成能控标准形; A=0,2,-1;5,1,2;-2,0,0;B=1;0;-1;C=1,1,0;Uc=B,A*B,A2*B;a=rank(Uc);p1=0,0,1*inv(Uc);P=p1;p1*A;p1*A2Ac=P*A*inv(P)Bc=P*BP = 0.1364 0.0455 0.1364 -0.0455 0.3182 -0.0455 1.6818 0.2273 0.6818Ac = 0 1.0000 0 0
11、0.0000 1.0000 -10.0000 12.0000 1.0000Bc = 0 0 1.0000(4)构造变换阵,将其变换成能观测标准形;题2.4某系统状态空间描述如下(1) 利用李雅普诺夫第一方法判断其稳定性; A=0,2,-1;5,1,2;-2,0,0;B=1;0;-1;C=1,1,0;D=0;flag=0;z,p,k=ss2zp(A,B,C,D,1);disp(System zero-points,pole-points and gain are:);zpkn=length(A);for i=1:n if real(p(i)0 flag=1; endendif flag=1 di
12、sp(System is unstable);else disp(System is stable);endSystem zero-points,pole-points and gain are:z = 1.0000 -4.0000p = -3.3978 3.5745 0.8234k = 1System is unstable(2) 利用李雅普诺夫第二方法判断其稳定性。 A=0,2,-1;5,1,2;-2,0,0;Q=eye(3,3);P=lyap(A,Q);flag=0;n=length(A);for i=1:n det(P(1:i,1:i) if(det(P(1:i,1:i) A=0,1,
13、0;0,0,1;-4,-3,-2;B=1;3;-6;C=1,0,0;D=0;%理想闭环极点P=-1,-2,-3;syms k1 k2 k3 s;K=k1 k2 k3;eg=Simple(det(s*diag(diag(ones(size(A)-A+B*K)f=1;for i=1:3f=Simple(f*(s-P(i);endf=f-eg; k1 k2 k3=solve(subs(f,s,0),subs(diff(f,s),s,0),diff(f,s,2) eg = s3+(2-6*k3+3*k2+k1)*s2+(3-13*k3+5*k1)*s+4+3*k1-4*k2-12*k3 k1 = 19
14、4/131 k2 = 98/131 k3 = -6/131(2)采用Ackermann公式计算法进行闭环系统极点配置;A=0,1,0;0,0,1;-4,-3,-2;B=1;3;-6;C=1,0,0;%理想闭环极点P=-1,-2,-3;K=acker(A,B,P)A-B*KK = 1.4809 0.7481 -0.0458ans = -1.4809 0.2519 0.0458 -4.4427 -2.2443 1.1374 4.8855 1.4885 -2.2748(3) 采用调用place函数法进行闭环系统极点配置。 A=0,1,0;0,0,1;-4,-3,-2;B=1;3;-6;eig(A)P
15、=-1,-2,-3;K=place(A,B,P)eig(A-B*K)ans = -1.6506 -0.1747 - 1.5469i -0.1747 + 1.5469iK = 1.4809 0.7481 -0.0458ans = -3.0000 -2.0000 -1.0000题3.2某系统状态空间描述如下设计全维状态观测器,要求状态观测器的极点为。%判断系统可观测性 a=0,1,0;0,0,1;-4,-3,-2;b=1;3;-6;c=1,0,0;n=3;ob=obsv(a,c);roam=rank(ob);if roam=ndisp(System is observable)elseif roam=ndisp(System is not observable)endSystem is observable%设计全维状态观测器 a=0,1,0;0,0,1;-4,-3,-2;b=1;3;-6;c=1,0,0;p1=-1,-2,-3;a1=a;b1=c;c1=b;K=acker(a1,b1,p1);h=(K)ahc=a-h*ch = 4 0 -10ahc = -4 1 0 0 0 1 6 -3 -2