您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 现代控制理论实验报告中南大学
中南大学现代控制实验报告指导老师设计者学号专业班级设计日期实验一用MATLAB分析状态空间模型1、实验设备PC计算机1台,MATLAB软件1套。2、实验目的①学习系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;②通过编程、上机调试,掌握系统状态空间表达式与传递函数相互转换方法。3、实验原理说明线性系统数学模型的常见的形式有,输入输出模式数学模型(传递函数和微分方程)和状态空间模式数学模型(状态空间表达式或动态方程)。传递函数模型一般可表示为:若上式中分子分母各项系数为常数,则系统称为线性定常系统(lineartimeinvariant,LTI)利用下列命令可轻易地将传递函数模型输入MATLAB环境中。num=[b0,b1,…,bn];den=[1,a1,a2,…,an];而调用tf()函数可构造出对应传递函数对象。调用格式为:G=tf(num,den);其中(num,den)分别为系统的分子和分母多项式系数的向量,返回变量G为系统传递函数对象。线性定常系统的状态空间模型可表示为表示状态空间模型的基本要素是状态向量和常数矩阵A,B,C,D。用类似的方法可将其输入MATLAB环境,对单输入单输出系统,A=[a11,a12,…a1n;a21,a22,…a2n;…;an1,an2,…ann];B=[b1;b2;…;bn];C=[c1,c2,…cn];D=d;调用ss()状态方程对象可构造状态方程模型,调用格式如下:ss(A,B,C,D)对于两种模型之间的转换,则可分别调用tf()和ss()完成,即:G1=tf(G)G2=ss(G’)4、实验步骤①根据所给系统的传递函数或A、B、C矩阵,依据系统的传递函数阵和状态空间表达式之间的关系式,采用MATLAB编程。)()()()()()()()(1111110tastastastbstbstbstbsgnnnnmmmmDuCxyBuAxx②在MATLAB界面下调试程序,并检查是否运行正确。题1.1已知SISO系统的传递函数为243258()2639ssgsssss(1)将其输入到MATLAB工作空间;(2)获得系统的状态空间模型。题1.2已知SISO系统的状态空间表达式为112233010100134326xxxxuxx,123100xyxx(1)将其输入到MATLAB工作空间;(2)求系统的传递函数。题1.1代码及结果num=[1,5,8];den=[1,2,6,3,9];G=tf(num,den);G1=ss(G)a=x1x2x3x4x1-2-1.5-0.375-1.125x24000x30200x40010b=u1x11x20x30x40c=x1x2x3x4y100.250.6251d=u1y10Continuous-timemodel.题1.2代码及结果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);G1=tf(G)Transferfunction:s^2+5s+3-------------------------s^3+2s^2+3s+4实验二利用MATLAB求解系统的状态方程1、实验设备PC计算机1台,MATLAB软件1套。2、实验目的①学习系统齐次、非齐次状态方程求解的方法,计算矩阵指数,求状态响应;②通过编程、上机调试,掌握求解系统状态方程的方法,学会绘制状态响应曲线;③掌握利用MATLAB导出连续状态空间模型的离散化模型的方法。3、实验原理说明在MATLAB中,调用expm(A)可求得矩阵指数;调用step()可求取阶跃输入时系统的状态响应;调用lsim()可求取零状态响应;调用initial()可求取零输入响应。它们的调用格式分别如下:expm(A)[y,t,x]=step(G)[y,t,x]=lsim(G,u,t)[y,t,x]=initial(G,x0)4、实验步骤(1)根据所给系统的状态方程,依据系统状态方程的解的表达式,采用MATLAB编程。(2)在MATLAB界面下调试程序,并检查是否运行正确。题2.1已知SISO系统的状态方程为Ae01323011xxuyx(1)0u,101x,求当t=0.5时系统的矩阵系数及状态响应;(2)1()ut,000x,绘制系统的状态响应及输出响应曲线;(3)1cos3tuet,000x,绘制系统的状态响应及输出响应曲线;(4)0u,102x,绘制系统的状态响应及输出响应曲线;(5)在余弦输入信号和初始状态101x下的状态响应曲线。题2.2已知一个连续系统的状态方程是0102541xxu若取采样周期0.05T秒(1)试求相应的离散化状态空间模型;(2)分析不同采样周期下,离散化状态空间模型的结果。题2.1代码及结果(1).A=[0,1;-2,-3];expm(A*0.5)ans=0.84520.2387-0.47730.1292x0=[1;-1];x=expm(A*0.5)*x0x=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)状态响应: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)输出响应:(4).A=[0,1;-2,-3];B=[3;0];C=[1,1];D=0;t=[0:.04:7];u=0;x0=[1;2];G=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);[y1,t,x1]=initial(G,x0,t);[y2,t,x2]=lsim(G,u,t);y=y1+y2;x=x1+x2;plot(t,x);状态响应:题2.2代码及结果A=[0,1;-25,-4];B=[0;1];[Gz,Hz]=c2d(A,B,0.05)Gz=0.97090.0448-1.12120.7915Hz=0.00120.0448实验三系统的能控性、能观测性分析1、实验设备PC计算机1台,MATLAB软件1套。2、实验目的①学习系统状态能控性、能观测性的定义及判别方法;②通过用MATLAB编程、上机调试,掌握系统能控性、能观测性的判别方法,掌握将一般形式的状态空间描述变换成能控标准形、能观标准形。3、实验原理说明由系统状态方程求能控性矩阵Uc,调用函数rank()可求得Uc的秩,从而判断系统的能控性,同理求得能观性矩阵Uo,用rank()求其秩,再判断系统的能观性。4、实验步骤①根据系统的系数阵A和输入阵B,依据能控性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。②根据系统的系数阵A和输出阵C,依据能观性判别式,对所给系统采用MATLAB编程;在MATLAB界面下调试程序,并检查是否运行正确。③构造变换阵,将一般形式的状态空间描述变换成能控标准形、能观标准形。题3.1已知系数阵A和输入阵B分别如下,判断系统的状态能控性2101013333.06667.10666.6A,110B题3.2已知系数阵A和输出阵C分别如下,判断系统的状态能观性。2101013333.06667.10666.6A,201C题3.3已知系统状态空间描述如下021151202001110xxuyx(1)判断系统的状态能控性;(2)判断系统的状态能观测性;(3)构造变换阵,将其变换成能控标准形;(4)构造变换阵,将其变换成能观测标准形;题3.1代码及结果A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];B=[0;1;1];Uc=[B,A*B,A^2*B];rank(Uc)ans=3题3.2代码及结果A=[6.666,-10.6667,-0.3333;1,0,1;0,1,2];C=[1,0,2];Uo=[C;C*A;C*A^2];rank(Uo)ans=3题3.3代码及结果A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];Uc=[B,A*B,A^2*B];Uo=[C;C*A;C*A^2];(1).判断能控性:rank(Uc)ans=3(2).判断能观性:rank(Uo)ans=3(3).构造变换阵,转化成能控标准型:A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];Uc=[B,A*B,A^2*B];rank(Uc);p1=[0,0,1]*inv(Uc);P=[p1;p1*A;p1*A^2]P=0.13640.04550.1364-0.04550.3182-0.04551.68180.22730.6818Ac=P*A*inv(P)Ac=01.0000000.00001.0000-10.000012.00001.0000Bc=P*BBc=001.0000(4).构造变换阵,转化成能观标准型:A=[0,2,-1;5,1,2;-2,0,0];B=[1;0;-1];C=[1,1,0];Uo=[C;C*A;C*A^2];rank(Uo);T1=inv(Uo)*[0;0;1];T=[T1,A*T1,A^2*T1]T=-0.50000-1.00000.500002.00001.00001.00000Ao=inv(T)*A*TAo=00-101012011Co=C*TCo=001实验四系统稳定性分析1、实验设备PC计算机1台,MATLAB软件1套。2、实验目的①学习系统稳定性的定义及李雅普诺夫稳定性定理;②通过用MATLAB编程、上机调试,掌握系统稳定性的判别方法。3、实验原理说明根据李雅普诺夫第一第二方法判断系统的稳定性。4、实验步骤(1)掌握利用李雅普诺夫第一方法判断系统稳定性;(2)掌握利用李雅普诺夫第二方法判断系统稳定性。题4.1某系统状态空间描述如下021151202001110xxuyx(1)利用李雅普诺夫第一方法判断其稳定性;(2)利用李雅普诺夫第二方法判断其稳定性。题4.1代码及结果(1)李雅普诺夫第一方法:%存为stability.m%输入系统状态方程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('Systemzero-points,pole-pointsandgainare:');zpk%判断是否稳定n=length(A);fori=1:nifreal(p(i))0flag=1;endendifflag==1disp('Systemisunstable
本文标题:现代控制理论实验报告中南大学
链接地址:https://www.777doc.com/doc-6003843 .html