实验一 MATLAB系统的传递函数和状态空间表达式的转换_第1页
实验一 MATLAB系统的传递函数和状态空间表达式的转换_第2页
实验一 MATLAB系统的传递函数和状态空间表达式的转换_第3页
实验一 MATLAB系统的传递函数和状态空间表达式的转换_第4页
实验一 MATLAB系统的传递函数和状态空间表达式的转换_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

------------------------------------------------------------------------实验一MATLAB系统的传递函数和状态空间表达式的转换实验一MATLAB系统的传递函数和状态空间表达式的转换实验目的1、学习多变量系统状态空间表达式的建立方法;2、通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数之间相互转换的方法;3、掌握相应的MATLAB函数。实验原理设系统的模型如式(1.1)所示:xuR’’’yRP(1.1)其中A为nXn维系统矩阵、B为nXm维输入矩阵、C为pXn维输出矩阵,D为直接传递函数。系统的传递函数和状态空间表达式之间的关系如式(1.2)所示G(s)=num(s)/den(s)=C(SI-A)-1B+D(1.2)式(1.2)中,num(s)表示传递函数的分子阵,其维数是pXm,den(s)表示传递函数的按s降幂排列的分母。表示状态空间模型和传递函数的MATLAB函数如下:函数ss(statespace的首字母)给出了状态空间模型,其一般形式是:sys=ss(A,B,C,D)函数tf(transferfunction的首字母)给出了传递函数,其一般形式是:G=tf(num,den)其中num表示传递函数中分子多项式的系数向量(单输入单输出系统),den表示传递函数中分母多项式的系数向量。函数tf2ss给出了传递函数的一个状态空间实现,其一般形式是:[A,B,C,D]=tf2ss(num,den)函数ss2tf给出了状态空间模型所描述系统的传递函数,其一般形式是:[num,den]=ss2tf(A,B,C,D,iu)其中对于多输入系统,必须确定iu的值。例如,若系统有三个输入u1,u2,u3,则iu必须是1、2、或3,其中1表示u1,2表示u2,3表示u3。该函数的结果是第iu个输入到所有输出的传递函数。三.实验步骤及结果1、应用MATLAB对下列系统编程,求系统的A、B、C、D阵,然后验证传递函数是相同的。G(s)=s3+4s2+5s+1程序和运行结果:num=[0021;0153];den=[1451];[A,B,C,D]=tf2ss(num,den)A=-4-5-1100010B=100C=021153D=00A=[-4-5-1;100;010];A=[-4-5-1;100;010];B=[1;0;0];C=[021;153];D=[0;0];[num1,den1]=ss2tf(A,B,C,D,1)num1=00.00002.00001.000001.00005.00003.0000den1=1.00004.00005.00001.00002、给定系统G(s)=,求系统的零极点增益模型和状态空间模型程序和运行结果:num=[0145];den=[16116];sys=tf(num,den)Transferfunction:s^2+4s+5----------------------s^3+6s^2+11s+6>>sys1=tf2zp(num,den)sys1=-2.0000+1.0000i-2.0000-1.0000i>>[A,B,C,D]=tf2ss(num,den)A=6-11-6100010B=100C=145D=0实验2状态空间模型系统仿真及状态方程求解实验目的熟悉线性定常离散与连续系统的状态空间控制模型的输入方法;熟悉系统模型之间的转换功能;利用MATLAB对线性定常系统进行动态分析。实验原理函数step(sys)给出了系统的单位阶跃响应曲线,其中的sys表示贮存在计算机内的状态空间模型,它可以由函数sys=ss(A,B,C,D)得到。函数impulse(sys)给出了系统的单位脉冲响应曲线。函数[y,T,x]=Isim(sys,u,t,x0)给出了一个状态空间模型对任意输入的响应,x0是初始状态。函数c2d将连续系统状态空间描述转化为离散系统状态空间形式,其一般形式为:[G,H]=c2d(A,B,T),其中的T是离散化模型的采样周期。函数d2c将离散系统状态空间描述转化为连续系统状态空间描述,其一般形式为:sysc=d2c(sysd,Method),其中的Method默认值为‘zoh’方法,即带零阶保持器的z变换。函数dstep(G,H,C,D)给出了离散系统的单位阶跃响应曲线。实验步骤及结果程序和运行结果:T=0.5s时T=1s时T=2s时A=[010;-2-30;-11-3];B=[0;0;1];C=[111];D=1;[G1H1]=c2d(A,B,0.5)G1=0.84520.23870-0.47730.12920-0.33260.05080.2231H1=000.2590>>dstep(G1,H1,C,D,1)>>dstep(G1,H1,C,D,1)>>[G2H2]=c2d(A,B,1)G2=0.60040.23250-0.4651-0.09720-0.3795-0.06140.0498H2=000.3167>>dstep(G2,H2,C,D,1)>>[G3H3]=c2d(A,B,2)[G3H3]=c2d(A,B,2)G3=0.25240.11700-0.2340-0.09870-0.2182-0.08530.0025H3=000.3325>>dstep(G3,H3,C,D,1)程序和运行结果:Z域仿真图形:连续域仿真图形:程序:G=[01;-0.161];H=[1;1];C=[11];D=0;u=1;dstep(G,H,C,D,u)sysd=ss(G,H,C,D,0.05)a=x1x2x101x2-0.161b=u1x11x21c=x1x2y111d=u1y10Samplingtime:0.05Discrete-timemodel.>>sysc=d2c(sysd,'zoh')a=x1x2x1-41.4346.21x2-7.3944.779b=u1x116.34x221.12c=x1x2y111d=u1y10Continuous-timemodel.>>step(sysc);实验3能控能观判据及稳定性判据一、实验目的1、利用MATLAB分析线性定常及离散系统的可控性与可观性;2、利用MATLAB判断系统的稳定性。二、实验原理给定系统状态空间描述[A,B,C,D],函数ctrb(A,B)计算能控性判别矩阵;函数obsv(A,C)计算能观测性判别矩阵;函数P=lyap(A,Q)求解李雅普诺夫方程ATP+PA=-Q,Q为正定对称矩阵;函数[Dp]=chol(P)可用于判断P矩阵是否正定,p=0,矩阵正定,p为其它值,矩阵非正定。三、实验步骤及结果1)(2)A=[1000;2-300;10-20;4-1-2-4];B=[0;0;1;2];C=[3010];Qc=ctrb(A,B)Qc=000000001-24-82-1044-184>>rank(Qc)ans=2>>rank(obsv(A,C))ans=2能控性判别矩阵Qc和能观性判别矩阵都不满秩,故系统既不能控,也不能观。(3)A=[1000;2-300;10-20;4-1-2-4];B=[0;0;1;2];C=[3010];D=[0];[z,p,k]=ss2zp(A,B,C,D,1);Flagz=0;n=length(A);fori=1:nifreal(p(i))>0Flagz=1;endend>>disp('系统的零极点模型为');z,p,k系统的零极点模型为z=1.0000-4.0000-3.0000p=-4-3-21k=1.0000>>ifFlagz==1disp('系统不稳定');elsedisp('系统是稳定的');end系统不稳定>>step(A,B,C,D);时间响应曲线为:实验4状态反馈及状态观测器的设计一、实验目的1、熟悉状态反馈矩阵的求法;2、熟悉状态观测器设计方法。二、实验原理MATLAB软件提供了两个函数acker和place来确定极点配置状态反馈控制器的增益矩阵K,函数acker是基于求解极点配置问题的艾克曼公式,它只能应用到单输入系统,要配置的闭环极点中可以包括多重极点。函数place用于多输入系统,但配置极点不可以包括多重极点。函数acker和place的一般形式是:K=acker(A,B,P)K=place(A,B,P)其中的P是一个向量,P=[],是n个期望的闭环极点。得到了所要求得反馈增益矩阵后,可以用命令eig(A-B*K)来检验闭环极点。由状态反馈极点配置和观测器设计问题直接的对偶关系,观测器设计是状态反馈设计的转置,可以用H=(acker(A’,C’,V’))’来确定一般系统的观测器矩阵,用命令eig(estim(sysold,H))来检验极点配置。三、实验步骤及结果step(A,B,C,D);num=[001];den=[132];[A,B,C,D]=tf2ss(num,den)A=-3-210B=10C=01D=02、配置后系统的时间响应曲线为:A=[-3-2;10];B=[1;0];C=[01];D=0;P=[-1+sqrt(-1);-1-sqrt(-1)];K=acker(A,B,P)K=-10>>disp('极点配置后的闭环系统为')极点配置后的闭环系统为>>sysnew=ss(A-B*K,B,C,D)a=x1x2x1-2-2x210b=u1x11x20c=x1x2y101d=

温馨提示

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

评论

0/150

提交评论