您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文档 > 南昌大学现代控制理论实验
NANCHANGUNIVERSITY现代控制理论实验报告学院:信息工程学院系自动化专业班级:自动化103学生姓名:学号:指导教师:武和雷日期:2013-06-14----------南昌大学信息工程学院---------时间:2013年06月14号南昌大学实验报告学生姓名:张政学号:6100310197专业班级:自动化103实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验1系统的传递函数阵和状态空间表达式的转换一、实验目的1学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。二、实验内容1设系统的模型如式(1.1)示。xAxBuyCxD,,nmpxRuRyR(1.1)其中A为n×n维系数矩阵、B为n×m维输入矩阵C为p×n维输出矩阵,D为传递阵,一般情况下为0,只有n和m维数相同时,D=1。系统的传递函数阵和状态空间表达式之间的关系如式(1.2)示。1numsGsCSIABDdens(1.2)式(1.2)中,nums表示传递函数阵的分子阵,其维数是p×m;dens表示传递函数阵的按s降幂排列的分母。三、实验步骤①根据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的关系如式(1.2),采用MATLA的file.m编程。注意:ss2tf和tf2ss是互为逆转换的指令;②在MATLAB界面下调试程序,并检查是否运行正确。③[例1.1]已知SISO系统的状态空间表达式为(1.3),求系统的传递函数。112233010100134326xxxxuxx123100xyxx(1.3)四、实验结果程序:%首先给A、B、C阵赋值;A=[010;001;-4-3-2];B=[1;3;-6];C=[100];D=0;%状态空间表达式转换成传递函数阵的格式为[num,den]=ss2tf(a,b,c,d,u)[num,den]=ss2tf(A,B,C,D,1)程序运行结果:num=01.00005.00003.0000den=1.00002.00003.00004.0000从程序运行结果得到:系统的传递函数为:23253234ssGssss..........................(1.4)④[例1.2]从系统的传递函数(1.4)式求状态空间表达式。程序:num=[0153];%在给num赋值时,在系数前补0,使num和den赋值的个数相同;den=[1234];[A,B,C,D]=tf2ss(num,den)程序运行结果:A=-2-3-4100010B=100C=153D=0由于一个系统的状态空间表达式并不唯一,[例1.2]程序运行结果虽然不等于式(1.3)中的A、B、C阵,但该结果与式(1.3)是等效的。不防对上述结果进行验证。⑤[例1.3]对上述结果进行验证编程%将[例1.2]上述结果赋值给A、B、C、D阵;A=[-2-3-4;100;010];B=[1;0;0];C=[153];D=0;[num,den]=ss2tf(A,B,C,D,1)程序运行结果与[例1.1]完全相同。五、实验心得本次试验,接触的实验内容比较复杂!涉及一些数学的运算,和一些函数。虽是简单的函数,但是使用MATLAB软件进行运算,所以还是容易出错。程序的执行过程和其他语言的程序执行比较类型,比如c语言的循环和matlab的循环就很相像。可以参照c语言来学习matlab的编程。南昌大学实验报告学生姓名:张政学号:6100310197专业班级:自动化103实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验2状态空间控制模型系统仿真及状态方程求解一、实验目的1、熟悉线性定常离散与连续系统的状态空间控制模型的各种表示方法。2、熟悉系统模型之间的转换功能。3、利用MATLAB对线性定常系统进行动态分析二、实验内容1、给定系统,3232230.521sssGssss求系统的零极点增益模型和状态空间模型,并求其单位脉冲响应及单位阶跃响应。num=[1213];den=[10.521];sys=tf(num,den);sys1=tf2zp(sys);sys2=tf2ss(sys);impulse(sys2);step(sys2)sys=tf(num,den)Transferfunction:s^3+2s^2+s+3-----------------------s^3+0.5s^2+2s+1sys1=tf2zp(num,den)sys1=-2.17460.0873+1.1713i0.0873-1.1713i[a,b,c,d]=tf2ss(num,den)a=-0.5000-2.0000-1.00001.00000001.00000b=100c=1.5000-1.00002.0000d=1单位脉冲响应:Impulse(num,den)图1.1系统的单位脉冲响应单位阶跃响应:step(num,den)图1.2系统的单位阶跃响应2、已知离散系统状态空间方程:1222101101011120xkxkukykxk采样周期T=0.05s。在域和连续域对系统性能进行仿真、分析。g=[-1-3-2;020;012];h=[2;1;-1];c=[100];d=0;u=1;dstep(g,h,c,d,u)Z域性能仿真图形:图1.3离散系统的阶跃响应sysd=ss(g,h,c,d,0.05)a=x1x2x3x1-1-3-2x2020x3012b=x12x21x3-1c=x1x2x3y1100d=u1y10Samplingtime:0.05Discrete-timemodel.sysc=d2c(sysd,'zoh')a=x1x2x3x4x12.137e-009-17.45-9.242-62.83x2013.8600x301013.860x462.8348.8741.89-2.137e-009b=u1x11.035x213.86x3-17.73x4-66.32c=x1x2x3x4y11000d=u1y10step(sysc);连续域仿真曲线:图1.4离散系统转连续系统后的阶跃响应四、实验心得本次实验是首次运用到MATLAB的绘图功能,需要先先写出原函数,然后弹出窗口调用,主要是考察plot函数的使用,难点在于源文件方面的编写,在整个程序中要注意细节上不要出错,如分好之类的,否则就不能得到想要的图形。考验我们编写程序能力和耐心程度。南昌大学实验报告学生姓名:张政学号:6100310197专业班级:自动化103实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验3能控能观判据及稳定性判据一、实验目的1、利用MATLAB分析线性定常及离散系统的可控性与可观性。2、利用MATLAB进行线性定常及离散系统的李雅普诺夫稳定性判据。二、实验内容1、已知系统状态空间方程:(1)(2)(3)对系统进行可控性、可观性分析。以第一题为例:(1)a=[-1-22;0-11;10-1]a=-1-220-1110-1b=[201]'b=201c=[120]c=120Qc=ctrb(a,b)Qc=20001011-1rank(Qc)ans=3,系统满秩,故系统能控。rank(obsv(a,c))ans=3,系统满秩,故系统能观。(2)、(3)两题计算方法相同。2、已知系统状态空间方程描述如下:,,试判定其稳定性,并绘制出时间响应曲线来验证上述判断。A=[-10-35-50-24;1000;0100;0010];B=[1;0;0;0];C=[172424];D=[0];[z,p,k]=ss2zp(A,B,C,D,1);Flagz=0;n=length(A);fori=1:nifreal(p(i))0Flagz=1;endenddisp('系统的零极点模型为');z,p,k系统的零极点模型为z=-2.7306+2.8531i-2.7306-2.8531i-1.5388p=-4.0000-3.0000-2.0000-1.0000k=1.0000ifFlagz==1disp('系统不稳定');elsedisp('系统是稳定的');end运行结果为:系统是稳定的step(A,B,C,D);四、实验心得使用MATLAB确定传递函数模型,并转化成其他的数学模型。绘制bode图和奈奎斯特图,以观察确定系统的稳定性,及各种参数。对于图形的形成和处理,还是比较新奇的,这使得我有了浓厚的兴趣。南昌大学实验报告学生姓名:张政学号:6100310197专业班级:自动化103实验类型:□验证□综合□设计□创新实验日期:实验成绩:实验4状态反馈及状态观测器的设计一、实验目的1、熟悉状态反馈矩阵的求法。2、熟悉状态观测器设计方法。二、实验内容1、某控制系统的状态方程描述如下:通过状态反馈使系统的闭环极点配置在P=[-30,-1.2,-2.44i位置上,求出状态反馈阵K,并绘制出配置后系统的时间响应曲线。A=[-10-35-50-24;1000;0100;0010];B=[1;0;0;0];C=[172424];D=[0];disp('原极点的极点为');p=eig(A)'disp('极点配置后的闭还系统为')极点配置后的闭还系统为sysnew=ss(A-B*K,B,C,D)step(sysnew/dcgain(sysnew))运算结果为:原极点的极点为p=-4.0000-3.0000-2.0000-1.0000P=[-30;-1.2;-2.4+sqrt(-16);-2.4-sqrt(-16)];K=place(A,B,P)K=26.0000172.5200801.7120759.3600disp('配置后系统的极点为')配置后系统的极点为p=eig(A-B*K)'p=-30.0000-2.4000-4.0000i-2.4000+4.0000i-1.2000a=x1x2x3x4x1-36-207.5-851.7-783.4x21000x30100x40010b=u1x11x20x30x40c=x1x2x3x4y1172424d=u1y10Continuous-timemodel.图3.1极点配置后系统的阶跃响应2、考虑下面的状态方程模型:要求选出合适的参数状态观测器(设观测器极点为op=[-100;-102;-103])。程序如下:A=[010;9800-2.8;00-100];B=[0;0;100];C=[100];D=[0];op=[-100;-102;-103];sysold=ss(A,B,C,D);disp('原系统的闭还极点为');p=eig(A)n=length(A);Q=zeros(n);Q(1,:)=C;fori=2:nQ(i,:)=Q(i-1,:)*A;endm=rank(Q);ifm==nH=place(A',C',op')';elsedisp('系统不是状态完全可观测')enddisp('状态观测器模型');est=estim(sysold,H);disp('配置后观测器的极点为');p=eig(est)运行结果:原系统的闭还极点为p=31.3050-31.3050-100.0000状态观测器模型配置后观测器的极点为p=-103.0000-102.0000-100.0000三、实验心得PID控制是我们在自动控制理论中学到的知识,是为了调整系统使其稳定性达到人们的控制要求。通过这个实验,我们可以更加直观清晰的感受到系统微妙的变化。MATLAB的应用在此时此刻表现的淋漓尽致。在这个实验中,我们算是第一次尝试真正去控制一个系统
本文标题:南昌大学现代控制理论实验
链接地址:https://www.777doc.com/doc-4209327 .html