《《现代控制理论》实验报告(共18页).doc》由会员分享,可在线阅读,更多相关《《现代控制理论》实验报告(共18页).doc(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 现代控制理论实验报告 组 员: 院 系:信息工程学院 专 业: 指导老师: 年 月 日 实验1 系统的传递函数阵和状态空间表达式的转换 实验要求 应用MATLAB对系统仿照例1.2编程,求系统的A、B、C、阵;然后再仿照例1.3进行验证。并写出实验报告。实验目的 1、学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。实验内容 1 设系统的模型如式(1.1)示。 (1.1)其中A为nn维系数矩阵、B为nm维输入矩阵 C为pn维输出矩阵,D为传递阵,一般情况
2、下为0,只有n和m维数相同时,D=1。系统的传递函数阵和状态空间表达式之间的关系如式(1.2)示。 (1.2)式(1.2)中,表示传递函数阵的分子阵,其维数是pm;表示传递函数阵的按s降幂排列的分母。2 实验步骤 根据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的关系如式(1.2),采用MATLA的file.m编程。注意:ss2tf和tf2ss是互为逆转换的指令; 在MATLA界面下调试程序,并检查是否运行正确。 1.1 已知SISO系统的状态空间表达式为(1.3),求系统的传递函数。 (1.3)程序:A=0 1 0 0;0 0 -1 0;0 0 0 1;0
3、0 5 0;B=0;1;0;-2;C=1 0 0 0;D=0;num,den=ss2tf(A,B,C,D,1) 程序运行结果:num = 0 -0.0000 1.0000 -0.0000 -3.0000den =1.0000 0 -5.0000 0 0从程序运行结果得到:系统的传递函数为: 1.2 从系统的传递函数式求状态空间表达式。程序:num =0 0 1 0 -3; den =1 0 -5 0 0;A,B,C,D=tf2ss(num,den)程序运行结果:A = 0 5 0 0 1 0 0 0 0 1 0 0 0 0 1 0B = 1 0 0 0C = 0 1 0 -3D = 0 1.3
4、 对上述结果进行验证编程%将1.2上述结果赋值给A、B、C、D阵;A=0 5 0 0;1 0 0 0;0 1 0 0;0 0 1 0;B=1;0;0;0;C=0 1 0 -3;D=0;num,den=ss2tf(A,B,C,D,1)实验结果:num = 0 0.0000 1.0000 0.0000 -3.0000den = 1.0000 0 -5.0000 0 0程序运行结果与1.1完全相同。实验分析 当已知系统的状态空间表达式,我们可以求得系统的传递函数。当已知系统的传递函数式,我们也可以求得状态空间表达式。由于一个系统的状态空间表达式并不唯一,所以程序运行结果有可能不等于原式中的矩阵,但该
5、结果与原式是等效的。验证结果证明了这个结论。 实验2 状态空间控制模型系统仿真及状态方程求解 实验要求 1、进行模型间的相互转换。2、绘出系统单位阶跃及脉冲曲线。实验目的 1、 熟悉线性定常离散与连续系统的状态空间控制模型的各种表示方法。2、 熟悉系统模型之间的转换功能。3、 利用MATLAB对线性定常系统进行动态分析实验内容 1、 给定系统,求系统的零极点增益模型和状态空间模型,并求其单位脉冲响应及单位阶跃响应。2、 已知离散系统状态空间方程:采样周期。在域和连续域对系统性能进行仿真、分析。实验结果及分析 1、程序:num=1 2 1 3;den=1 0.5 2 1;sys=tf(num,d
6、en)z,p,k=tf2zp(num,den)A,B,C,D=tf2ss(num,den)impulse(sys),hold onstep(sys)程序运行结果:Transfer function: s3 + 2 s2 + s + 3-s3 + 0.5 s2 + 2 s + 1z = -2.1746 0.0873 + 1.1713i 0.0873 - 1.1713ip = 0 + 1.4142i 0 - 1.4142i -0.5000 k = 1A = -0.5000 -2.0000 -1.0000 1.0000 0 0 0 1.0000 0B = 1 0 0C = 1.5000 -1.000
7、0 2.0000D = 1单位脉冲响应/单位阶跃响应:2、程序:g=-1 -2 2;0 -1 1;1 0 -1;h =2;0;1;c =1 2 0;d=0;u=1;sysd=ss(g,h,c,d,0.05) dstep(g,h,c,d,u) 程序运行结果:a = x1 x2 x3 x1 -1 -2 2 x2 0 -1 1 x3 1 0 -1b = u1 x1 2 x2 0 x3 1 c = x1 x2 x3 y1 1 2 0d = u1 y1 0Sampling time: 0.05Discrete-time model.Z域性能仿真图形:连续域仿真曲线:sysc=d2c(sysd,zoh)s
8、tep(sysc)和连续系统不同,离散系统中各部分的信号不再都是时间变量t的连续函数。实验3 能控能观判据及稳定性判据 实验目的 1、利用MATLAB分析线性定常及离散系统的可控性与可观性。2、利用MATLAB进行线性定常及离散系统的李雅普诺夫稳定性判据。实验内容 1、已知系统状态空间方程:(1) (2)对系统进行可控性、可观性分析。2、 已知系统状态空间方程描述如下:,试判定其稳定性,并绘制出时间响应曲线来验证上述判断。实验结果及分析 (1) 能控性分析程序:A=0 1 0;0 0 1;-2 -4 -3B=1 0;0 1;-1 1Qc=ctrb(A,B)rank(Qc)程序运行结果:A =
9、0 1 0 0 0 1 -2 -4 -3B = 1 0 0 1 -1 1Qc = 1 0 0 1 -1 1 0 1 -1 1 1 -7 -1 1 1 -7 1 15ans = 3系统满秩,故系统能控。系统的状态可控性描述了输入对状态的控制能力(2) 能观性分析程序:A=0 4 3;0 20 16;0 -25 -20C=-1 3 0rank(obsv(A,C)程序运行结果:A = 0 4 3 0 20 16 0 -25 -20C = -1 3 0ans = 3系统满秩,故系统能观。系统的状态可观性描述了通过输出可以观测状态的能力2、程序:A=-3 -6 -2 -1;1 0 0 0;0 1 0 0
10、;0 0 1 0;B=1;0;0;0;C=0 0 1 1;D=0;z,p,k=ss2zp(A,B,C,D,1);Flagz=0;n=length(A);for i=1:nif real(p(i)0Flagz=1;endenddisp(系统的零极点模型为);z,p,k程序运行结果:系统的零极点模型为z = -1.0000p = -1.3544 + 1.7825i -1.3544 - 1.7825i -0.1456 + 0.4223i -0.1456 - 0.4223ik = 1程序:if Flagz=1disp(系统不稳定);else disp(系统是稳定的);endstep(A,B,C,D);
11、程序运行结果为:系统是稳定的程序:step(A,B,C,D);程序运行结果为: 从图中可以看出,系统是稳定的 实验4 状态反馈及状态观测器的设计 实验要求1、求出系统的状态空间模型;2、依据系统动态性能的要求,确定所希望的闭环极点P;3、利用上面的极点配置算法求系统的状态反馈矩阵K;4、检验配置后的系统性能。实验目的 1、 熟悉状态反馈矩阵的求法。2、 熟悉状态观测器设计方法。实验内容 1、 某控制系统的状态方程描述如下:通过状态反馈使系统的闭环极点配置在P=-30,-1.2,-2.44i位置上,求出状态反馈阵K,并绘制出配置后系统的时间响应曲线。2、 考虑下面的状态方程模型: 要求选出合适的
12、参数状态观测器(设观测器极点为op=-100;-102;-103)。实验结果及分析 1、程序:A=-10 -35 -50 -24;1 0 0 0;0 1 0 0;0 0 1 0;B=1;0;0;0;C=1 7 24 24;D=0;disp(原系统的极点为);p=eig(A) %求原系统极点 转置np=-30;-1.2;-2.4+sqrt(-16);-2.4-sqrt(-16) K=place(A,B,np) %求反馈K值 disp(极点配置后的闭还系统为);sysnew=ss(A-B*K,B,C,D) %配置后新系统disp(配置后系统的极点为);pp=eig(A-B*K) %求新系统极点st
13、ep(sysnew/dcgain(sysnew) %dcgain为求最大增益,使得最后结果在01程序运行结果:原系统的极点为p = -4.0000 -3.0000 -2.0000 -1.0000np = -30.0000 -1.2000 -2.4000 + 4.0000i -2.4000 - 4.0000iK = 26.0000 172.5200 801.7120 759.3600极点配置后的闭还系统为a = x1 x2 x3 x4 x1 -36 -207.5 -851.7 -783.4 x2 1 0 0 0 x3 0 1 0 0 x4 0 0 1 0b = u1 x1 1 x2 0 x3 0
14、 x4 0 c = x1 x2 x3 x4 y1 1 7 24 24d = u1 y1 0Continuous-time model.配置后系统的极点为pp = -30.0000 -2.4000 - 4.0000i -2.4000 + 4.0000i -1.2000 2、程序:A=0 1 0;980 0 -2.8;0 0 -100;B=0;0;100;C=1 0 0;D=0;op=-100;-102;-103;disp(原系统为);sysold=ss(A,B,C,D)disp(原系统的闭还极点为);p=eig(A)n=length(A); %求A阵维度Q=zeros(n); % 为n维0阵Q(
15、1,:)=C; %C阵为Q第一行for i=2:n Q(i,:)=Q(i-1,:)*A;endm=rank(Q);if m=n H=place(A,C,op);else disp(系统不是状态完全可观测)enddisp(状态观测器模型);est=estim(sysold,H)disp(配置后观测器的极点为);p=eig(est) 程序运行结果:原系统为a = x1 x2 x3 x1 0 1 0 x2 980 0 -2.8 x3 0 0 -100b = u1 x1 0 x2 0 x3 100c = x1 x2 x3 y1 1 0 0d = u1 y1 0 Continuous-time mode
16、l.原系统的闭还极点为p = 31.3050 -31.3050 -100.0000状态观测器模型 a = x1 x2 x3 x1 -205 1 0 x2 -1.051e+004 0 -2.8 x3 0 0 -100b = u1 x1 205 x2 1.149e+004 x3 0c = x1 x2 x3 y1 1 0 0 y2 1 0 0 y3 0 1 0 y4 0 0 1d = u1 y1 0 y2 0 y3 0 y4 0Input groups: Name Channels Measurement 1 Output groups: Name Channels OutputEstimate 1 StateEstimate 2,3,4 Continuous-time model.配置后观测器的极点为p = -103.0000 -102.0000 -100.0000专心-专注-专业