现代控制实验报告.doc_第1页
现代控制实验报告.doc_第2页
现代控制实验报告.doc_第3页
现代控制实验报告.doc_第4页
现代控制实验报告.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CENTRAL SOUTH UNIVERSITY题 目现代控制理论实验姓 名王滔学 号0909113214班 级电气1106班任课老师徐德刚实验日期2013年11月10号实验1 利用MATLAB进行传递函数和状态空间模型的转换 1.1 实验设备 PC计算机1台(要求P4-1.8G以上),MATLAB6.X或MATLAB7.X软件1套。1.2 实验目的 1、学习系统状态空间模型的建立方法、了解状态空间模型与传递函数相互转换的方法; 2、通过编程、上机调试,掌握系统状态空间模型与传递函数相互转换的方法。1.3 实验原理说明 设系统的状态空间模型是 其中:XRn是系统的状态向量,URm是控制输入,YRp是测量输出,A是nn维状态矩阵、B是nm维输入矩阵、C是pn维输出矩阵、D是直接转移矩阵。系统传递函数和状态空间模型之间的关系如式(1.2)所示。G(S)=C(SI-A)B+D表示状态空间模型和传递函数的MATLAB函数。函数ss(state space的首字母)给出了状态空间模型,其一般形式是SYS = ss(A,B,C,D) 函数tf(transfer function的首字母)给出了传递函数,其一般形式是G=tf(num,den) 其中的num表示传递函数中分子多项式的系数向量(单输入单输出系统),den表示传递函数中分母多项式的系数向量。 函数tf2ss给出了传递函数的一个状态空间实现,其一般形式是A,B,C,D=tf2ss(num,den) 函数ss2tf给出了状态空间模型所描述系统的传递函数,其一般形式是num,den=ss2tf(A,B,C,D,iu) 其中对多输入系统,必须确定iu的值。例如,若系统有三个输入和,则iu必须是1、2或3,其中1表示u1,2表示u2,3表示u3。该函数的结果是第iu个输入到所有输出的传递函数。例1.1A=0 1 0;0 0 1;-5 -25 -5;B=0;25;-120;C=1 0 0;D=0;num,den=ss2tf(A,B,C,D)num = 0 0.0000 25.0000 5.0000den =1.0000 5.0000 25.0000 5.0000例1.2A=0 1;-25 -4;B=1 1;0 1;C=1 0;0 1;D=0 0;0 0;num1,den1=ss2tf(A,B,C,D,1)num2,den2=ss2tf(A,B,C,D,2)num1 = 0 1.0000 4.0000 0 0 -25.0000den1 = 1.0000 4.0000 25.0000num2 = 0 1.0000 5.0000 0 1.0000 -25.0000den2 =1.0000 4.0000 25.0000例1.3num=0 0 10 10;den=1 6 5 10;A,B,C,D=tf2ss(num,den)A = -6 -5 -10 1 0 0 0 1 0B = 1 0 0C =0 10 10D =01.4实验要求应用MATLAB求下面传递函数阵的状态空间实现G(S)=提示num=0 0 1 2;0 1 5 3。 num=0 0 1 2;0 1 5 3; den=1 2 3 4; A,B,C,D=tf2ss(num,den)A = -2 -3 -4 1 0 0 0 1 0B = 1 0 0C = 0 1 2 1 5 3D = 0 0 实验 2 利用 MATLAB 对状态空间模型进行分析 2.1 实验设备 同实验1。 2.2 实验目的 1、根据状态空间模型分析系统由初始状态和外部激励所引起的响应; 2、通过编程、上机调试,掌握系统运动的分析方法。 MATLAB 函数: 函数 initial(A,B,C,D,x0)可以得到系统输出对初始状态 x0 的时间响应; 函数 step(A,B,C,D)给出了系统的单位阶跃响应曲线; 函数 impulse(A,B,C,D) 给出了系统的单位脉冲响应曲线; 函数 y,T,x=lsim(sys,u,t,x0) 给出了一个状态空间模型对任意输入 的响 u应,其中的 sys 表示贮存在计算机内的状态空间模型,它可以由函数 sys=ss(A,B,C,D)得到,x0 是初始状态。 2.3实验步骤 1、构建系统的状态空间模型,采用 MATLA的 m-文件编程;2、求取系统的状态和输出响应; 3、在 MATLA界面下调试程序,并检查是否运行正确。 例2.1A=0 1;-10 -5;B=0;0;D=B;C=1 0;0 1;x0=2;1;y,x,t=initial(A,B,C,D,x0);plot(t,x(:,1),t,x(:,2)gridtitle(response to initial condition)xlabel(time(sec)ylabel(x1,x2)text(0.55,1.15,x1)text(0.4,-2.9,x2)例2.2A=-1 -1;6.5 0;B=1 1;1 0;C=1 0;0 1;D=0 0;0 0;step(A,B,C,D)例2.3A=0 -2;1 -3;B=2;0;C=1 0;D=0;sys=ss(A,B,C,D);x0=1;1;t=0:0.01:20;u=cos(t);y,T,x=lsim(sys,u,t,x0);subplot(2,1,1);plot(T,x(:,1)xlabel(time(sec),ylabel(x_1)subplot(2,1,2),plot(T,x(:,2)xlabel(time(sec),ylabel(x_2)2.4实验要求应用MATLAB验证一个振动现象可以由以下系统产生证明该系统的解是假设初始条件,用Matlab观察系统解的形状A=0 1;-1 0; B=0 0; B=0;0; C=1 0;0 1; D=0;0; x0=0;1;y,x,t=initial(A,B,C,D,x0); plot(t,x(:,1),t,x(:,2) grid title(Response to Initial Condition)xlabel(Time(sec)ylabel(x1,x2) plot(t,x(:,1),t,x(:,2) xlabel(Time(sec) ylabel(x1,b,x2,r) xlabel(Time(sec) plot(t,x(:,1) plot(t,x(:,2) plot(t,x(:,1),t,x(:,2) 实验 3利用MATLAB导出连续状态空间模型的离散化模型 3.1 实验设备 同实验1。 3.2 实验目的 1、基于对象的一个连续时间状态空间模型,导出其相应的离散化状态空间模型; 2、通过编程、上机调试,掌握离散系统运动分析方法。 3.3 实验步骤 1、导出连续状态空间模型的离散化模型,采用 MATLAB 的m-文件编程; 2、在 MATLA界面下调试程序,并检查是否运行正确。 3.4实验要求 1、对线性定常系统的状态空间模型设采样周期T=1秒,试求离散化状态空间模型。分析不同采样周期下,离散化状态空间模型的结果。采样周期T=1秒:A=-1 0;0 -2; B=0;1; C=1 0; D=0;0; G,H=c2d(A,B,1)G = 0.3679 0 0 0.1353H = 00.4323采样周期T=0.5秒: G,H=c2d(A,B,0.5)G = 0.6065 0 0 0.3679H = 0 0.3161采样周期T=0.1秒: G,H=c2d(A,B,0.1)G = 0.9048 0 0 0.8187H = 0 0.0906采样周期T=2秒: G,H=c2d(A,B,2)G = 0.1353 0 0 0.0183H = 0 0.4908采样周期越短,离散后的G阵与H阵的越接近离散前的A阵与B阵。实验 4 利用 MATLAB求解极点配置问题 4.1 实验设备 同实验1。 4.2 实验目的 1、学习极点配置状态反馈控制器的设计算法; 2、通过编程、上机调试,掌握系统极点配置设计方法。 4.3 实验原理说明 MATLAB 软件提供了两个函数 acker 和 place 来确定极点配置状态反馈控制器的增益矩阵K 。函数acker 是基于求解极点配置问题的爱克曼公式,它只能应用到单输入系统,要配置的闭环极点中可以包括多重极点。 函数 acker和 place 的一般形式是: K=acker(A,B,J) K=place(A,B,J) 其中的 J 是一个向量,J=1 2 3,1 2 3 是n个期望的闭环极点。得到了所要求的反馈增益矩阵后,可以用命令 eig(A-B*K)来检验闭环极点。 4.4 实验步骤 1、极点配置状态反馈控制器的设计,采用 MATLAB 的 m-文件编程; 2、在 MATLAB 界面下调试程序,并检查是否运行正确。 例4.1A=0 1 0;0 0 1;-1 -5 -6;B=0;0;1;J=-2+j*4 -2-j*4 -10;K=acker(A,B,J)K = 199 55 8A=0 1 0;0 0 1;-1 -5 -6;B=0;0;1;J=-2+j*4 -2-j*4 -10;k=place(A,B,J)k = 199.0000 55.0000 8.0000求状态响应曲线:A=0 1 0;0 0 1;-1 -5 -6;B=0;0;1;J=-2+j*4 -2-j*4 -10;K=place(A,B,J);sys=ss(A-B*K,0;0;0,eye(3),0);t=0:0.01:4;x=initial(sys,1;0;0,t);x1=1 0 0*x;x2=0 1 0*x;x3=0 0 1*x;subplot(3,1,1);plot(t,x1),gridtitle(response to initial condition)ylabel(x1)subplot(3,1,2);plot(t,x2),gridylabel(x2)subplot(3,1,3);plot(t,x3),gridxlabel(t(sec)ylabel(x3)4.51、对状态空间模型为的被控对象设计状态反馈控制器,使得闭环极点为-4和-5,并讨论闭环系统的稳态性能分析极点设置对稳态性能有何影响,如何消除对稳态性能的负面影响?设置状态反馈控制器配置极点: A=0 1;-3 -4; B=0;1;C=3 2;J=-4 -5;K=place(A,B,J);初始状态为1 0的零输入响应:sys=ss(A-B*K,0;0,eye(2),0); t=0:0.01:4; x=initial(sys,1;0,t);x1=1 0*x; x2=0 1*x;subplot(2,1,1);plot(t,x1),gridtitle(Responce to Initial Condition)ylabel(x1)subplot(2,1,2);plot(t,x2),gridylabel(x2)xlabel(t(sec)稳态性能分析:配置极点之前的阶跃响应 A=0 1;-3 -4; B=0;1; C=3 0;0 2;D=0;0;t=0:0.01:4;step(A,B,C,D)配置极点后的阶跃响应 A=0 1;-3 -4; B=0;1;C=3 2;J=-4 -5;K=place(A,B,J);sys=ss(A-B*K,0;1,3 0;0 2,0;0);t=0:0.01:4;step(sys)配置极点之后的阶跃响应的稳态精度比配置极点之前有很明显的下降。可以在原系统的输入U之前设置一个放大器,用来增加系统的开环增益,以保证配置极点后的系统稳态精度不会下降的太厉害。实验 5 利用 MATLAB 设计状态观测器5.1 实验设备同实验 1。5.2 实验目的1、学习观测器设计算法;2、通过编程、上机调试,掌握基于观测器的输出反馈控制系统设计方法。 a=0 1;0 -2;b=0;4;c=1 0;d=0;w=-2+j*2*sqrt(3) -2-j*2*sqrt(3);k=acker(a,b,w);v=-8 -8;l=(acker(a,c,v);aa=a-b*k b*k;zeros(2,2) a-l*c;sys=ss(aa,eye(4),eye(4),e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论