ImageVerifierCode 换一换
格式:DOC , 页数:115 ,大小:4.89MB ,
资源ID:3668320      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-3668320.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(现代控制理论实验指导书自动化Word格式文档下载.doc)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

现代控制理论实验指导书自动化Word格式文档下载.doc

1、den=2 4 6 2 2;sys=tf(num,den)相应的(2)系统的MATLAB程序为:借助多项式乘法函数conv来处理:num=4*conv(1,2,conv(1,6,6,1,6,6);den=conv(1,0,conv(1,1,conv(1,1,conv(1,1,1,3,2,5);2、零极点增益模型零极点增益模型为:若已知系统的其中:K为系统增益,zi为零点,pj为极点。则在MATLAB中零极点增益模型建立函数为:sys=zpk(z,p,k)z=z1,z2,zmp=p1,p2,.,pnK=k例:已知系统的零极点增益模型:则在MATLAB中建立零极点增益模型的程序如下:z=-3;p=

2、-1,-2,-5;k=6;sys=zpk(z,p,k)3、状态空间模型状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,经典控制理论用传递函数将输入输出关系表达出来,而现代控制理论则用状态方程和输出方程来表达输入输出关系,揭示了系统内部状态对系统性能的影响。若已知系统的状态空间模型为:则在MATLAB中状态空间模型建立函数为:sys=ss(A,B,C,D)。已知系统的状态空间模型为:系统为一个两输入两输出系统,则在MATLAB中状态空间模型建立程序如下:A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14;B=4 6; 2 4; 2 2; 1 0;C=

3、0 0 2 1; 8 0 2 2; D=zeros(2,2);sys=ss(A,B,C,D)二、模型的转换在一些场合下需要用到某种模型,而在另外一些场合下可能需要另外的模型,这就需要进行模型的转换。模型转换的函数包括:(1)ss2tf: 状态空间模型转换为传递函数模型。格式为:num,den=ss2tf(a,b,c,d)(2)ss2zp: 状态空间模型转换为零极点增益模型。z,p,k=ss2zp(a,b,c,d)(3)tf2zp: 传递函数模型转换为零极点增益模型。z,p,k=tf2zp(num,den)(4)tf2ss: 传递函数模型转换为状态空间模型。a,b,c,d=tf2ss(num,d

4、en)(5)zp2ss: 零极点增益模型转换为状态空间模型。a,b,c,d=zp2ss(z,p,k)(6)zp2tf: 零极点增益模型转换为传递函数模型。num,den=zp2tf(z,p,k)三、模型的连接1、并联:parallel格式:a,b,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2)并联连接两个状态空间系统。num,den=parallel(num1,den1,num2,den2) 将并联连接的传递函数进行相加。2、串联:seriesa,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2) 串联连接两个状态空间系统。num,den=s

5、eries(num1,den1,num2,den2) 将串联连接的传递函数进行相乘。3、反馈:feedbacka,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2) 将两个系统按反馈方式连接,一般而言,系统1为对象,系统2为反馈控制器。num,den=feedback(num1,den1,num2,den2,sign) 可以得到类似的连接,只是子系统和闭环系统均以传递函数的形式表示。sign的含义与前述相同。4、闭环:cloop(单位反馈)ac,bc,cc,dc=cloop(a,b,c,d,sign) 通过将所有的输出反馈到输入,从而产生闭环系统的状态空间模型。当s

6、ign=1时采用正反馈;当sign= -1时采用负反馈;sign缺省时,默认为负反馈。numc,denc=cloop(num,den,sign) 表示由传递函数表示的开环系统构成闭环系统,sign意义与上述相同。举例应用:已知系统1和系统2分别为: 求按串联、并联、正反馈、负反馈连接时的系统状态方程及系统1按单位负反馈连接时的状态方程。程序如下:clccleara1=0 1;-1 -2;b1=0;1;c1=1 3;d1=1;a2=0 1;-1 -3;b2=0;c2=1 4;d2=0;disp(串联连接)a,b,c,d=series(a1,b1,c1,d1,a2,b2,c2,d2)并联连接a,b

7、,c,d=parallel(a1,b1,c1,d1,a2,b2,c2,d2)正反馈连接a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2,+1)负反馈连接a,b,c,d=feedback(a1,b1,c1,d1,a2,b2,c2,d2)单位负反馈连接a,b,c,d=cloop(a1,b1,c1,d1)实验内容1、 熟悉MATLAB的基本操作命令,查看控制系统工具箱的主要命令及功能;(提示:在命令窗口输入help control按回车)2、 已知四个系统的传递函数分别为: 在MATLAB环境下建立它们的系统模型,直接用传递函数模型来表达,并将其转换成零极点模型和状态

8、空间模型。将用到conv)3、 求第二题中前三个系统串联、并联后的数学模型,并且求前三个系统的闭环系统(反馈环节是H(s)的数学模型。用series、parallel、feedback)4、 建立下面多变量系统的传递函数模型。实验二 系统的传递函数阵和状态空间表达式的转换 实验目的 1 学习多变量系统状态空间表达式的建立方法、了解系统状态空间表达式与传递函数相互转换的方法;2 通过编程、上机调试,掌握多变量系统状态空间表达式与传递函数相互转换方法。一、设系统的模型如式(2.1)所示。 (2.1)其中A为nn维系数矩阵、B为nm维输入矩阵 C为pn维输出矩阵,D为传递阵,一般情况下为0,只有n和

9、m维数相同时,D=1。系统的传递函数阵和状态空间表达式之间的关系如式(2.2)示。 (2.2)式(2.2)中,表示传递函数阵的分子阵,其维数是pm;表示传递函数阵的按s降幂排列的分母。二、 实验步骤 根据所给系统的传递函数或(A、B、C阵),依据系统的传递函数阵和状态空间表达式之间的关系如式(2.2),采用MATLAB的file.m编程。注意:ss2tf和tf2ss是互为逆转换的指令; 在MATLAB界面下调试程序,并检查是否运行正确。 例2.1 已知SISO系统的状态空间表达式为(2.3),求系统的传递函数。 (2.3)程序:%首先给A、B、C阵赋值;A=0 1 0;0 0 1;-4 -3

10、-2;B=1;3;-6;C=1 0 0;D=0;%状态空间表达式转换成传递函数阵的格式为num,den=ss2tf(a,b,c,d,u)num,den=ss2tf(A,B,C,D,1) 程序运行结果:num = 0 1.0000 5.0000 3.0000den = 1.0000 2.0000 3.0000 4.0000从程序运行结果得到:系统的传递函数为: . (2.4) 例2.2 从系统的传递函数(2.4)式求状态空间表达式。num =0 1 5 3; %在给num赋值时,在系数前补0,使num和den赋值的个数相同;den =1 2 3 4;A,B,C,D=tf2ss(num,den)A

11、 = -2 -3 -4 1 0 0 0 1 0B = 1 0C = 1 5 3D =由于一个系统的状态空间表达式并不唯一, 例2.2程序运行结果虽然不等于式(2.3)中的A、B、C阵,但该结果与式(2.3)是等效的。不防对上述结果进行验证。 例2.3 对上述结果进行验证编程%将例2.2上述结果赋值给A、B、C、D阵;A =-2 -3 -4;1 0 0; 0 1 0;B =1;0;0;C =1 5 3;D=0;num,den=ss2tf(A,B,C,D,1)程序运行结果与例2.1完全相同。1、在运行以上例程序的基础上,应用MATLAB对(2.5)系统仿照例2.2编程,求系统的A、B、C、阵;然后

12、再仿照例2.3进行验证。 (2.5)提示:num =0 0 1 2;0 1 5 3;2、在MATLAB下建立下面系统的状态空间模型。 3、 若对上述系统实行非奇异变换,且已知变换阵为T=,求其变换后的状态空间描述。(提示;Tsys=ss2ss(sys1,T)4、建立下述系统的状态空间模型,并将其转换成传递函数模型和零极点增益模型。实验三 状态空间控制模型系统仿真及状态方程求解实验目的 1、 熟悉线性定常离散与连续系统的状态空间控制模型的各种表示方法。2、 熟悉系统模型之间的转换功能。3、 利用MATLAB对线性定常系统进行动态分析1、给定系统,求系统的零极点增益模型和状态空间模型,并求其单位脉

13、冲响应及单位阶跃响应。num=1 2 1 3;den=1 0.5 2 1;sys=tf(num,den);sys1=tf2zp(sys);sys2=tf2ss(sys);impulse(sys2);step(sys2)sys=tf(num,den) Transfer function: s3 + 2 s2 + s + 3-s3 + 0.5 s2 + 2 s + 1sys1=tf2zp(num,den)sys1 = -2.1746 0.0873 + 1.1713i 0.0873 - 1.1713ia = -0.5000 -2.0000 -1.0000 1.0000 0 0 0 1.0000 0b

14、 = 1c = 1.5000 -1.0000 2.0000d = 1单位脉冲响应: 图3.1 系统的单位脉冲响应单位阶跃响应: 图3.2 系统的单位阶跃响应2、 已知离散系统状态空间方程:采样周期。在域和连续域对系统性能进行仿真、分析。g = -1 -3 -2 0 2 0 0 1 2 h = 2 -1 c = 1 0 0 d=0 u=1; dstep(g,h,c,d,u) Z域性能仿真图形:图3.3 离散系统的阶跃响应sysd=ss(g,h,c,d,0.05) a = x1 x2 x3 x1 -1 -3 -2 x2 0 2 0 x3 0 1 2 b = x1 2 x2 1 x3 -1 c =

15、x1 x2 x3 y1 1 0 0d = u1 y1 0 Sampling time: 0.05Discrete-time model. sysc=d2c(sysd,zoha = x1 x2 x3 x4 x1 -9.467e-008 -17.45 -9.242 -62.83 x2 4.281e-015 13.86 3.115e-015 2.733e-015 x3 -1.41e-014 10 13.86 -1.396e-014 x4 62.83 48.87 41.89 9.467e-008 b = u1 x1 1.035 x2 13.86 x3 -17.73 x4 -66.32 c = x1 x

16、2 x3 x4 y1 1 0 0 0step(sysc) ;连续域仿真曲线: 图3.4 离散系统转连续系统后的阶跃响应1、进行模型间的相互转换。2、 绘出系统单位阶跃及脉冲曲线。3、已知系统矩阵A=,输入矩阵B=,且,C=1 0,单输入u(t)为单位阶跃函数,试求系统的状态响应和输出响应。用lsim命令,格式为:y,x=lsim(A,B,C,D,输入表达式,初始状态)4、对于如下状态空间方程:求系统的阶跃响应y(k),x1(k)和x2(k)。实验四 用MATLAB求线性系统响应的方法1、了解控制系统工具箱的组成、特点及应用;2、掌握线性定常系统状态转移矩阵的计算;3、掌握线性系统状态空间描述的

17、规范型的求法;4、掌握求线性定常连续和离散系统状态响应和输出响应的方法。实验指导1 求取线性连续系统的阶跃响应函数为(step) 基本格式为:step(sys) step(num,den) step(A,B,C,D)2 求取线性连续系统的单位脉冲响应(impulse)3 求取线性连续系统的零初始响应(initial)4 求取线性连续系统对任意输入的响应(lsim)5 求取线性连续系统的阶跃响应函数为(dstep)dstep(sys) dstep(num,den) dstep(A,B,C,D)6 求取线性连续系统的单位脉冲响应(dimpulse)7 求取线性连续系统的零初始响应(dinitial

18、)8 求取线性连续系统对任意输入的响应(dlsim)对一系统,其开环传递函数为,求系统的阶跃响应和脉冲响应。sys=zpk(-2,-1,0,-3,-4,-4,2)sys1=tf(sys) 转换成传递函数模型step(sys1) 求系统的阶跃响应impulse(sys1) 求系统的脉冲响应9、具有离散系统状态空间方程的系统动态响应设计离散系统的状态空间方程为,求其动态响应可用下述步骤:(1)num,den=ss2tf(G,H,C,D)(2)y=filter(num,den,u)(3)num1,den1=ss2tf(G,H,F,D) x1=filter(num1,den1,u) F=1 0(4)n

19、um2,den2=ss2tf(G,H,J,D) x2=filter(num2,den2,u) J=0 1对于如下状态空间方程:MATLAB程序清单:G=0 1;-0.16 1;H=0;C=1.16 1;D=0;F=1 0;J=0 1;num,den=ss2tf(G,H,C,D);k=0:50;u=ones(1,51);y=filter(num,den,u);plot(k,y,g-),grid;xlabel(k);ylabel(y(k)axis(0 30 0 1.2);num1,den1=ss2tf(G,H,F,D);x1= filter(num1,den1,u);figure; plot(k,

20、x1,g-),grid;ylabel(x1(k)axis(0 30 0.3 1.3);num2,den2=ss2tf(G,H,J,D);x2= filter(num2,den2,u); plot(k,x2,g-),grid;ylabel(x2(k)end补充:离散系统输入函数的输入形式(1)脉冲函数:u(0)=1, u(k)=0 (k=1,2,3,)若k=1,2,3,60,则在MATLAB程序中可以写成:u=1 zeros(1,60)若脉冲幅值是8,则u=8 zeros(1,60)(2)阶跃输入:u(k)=1 (k=0,1,2,)若k=0,2,3,100,则在MATLAB程序中可以写成:u=1 ones(1,100)或u=ones(1,101),若幅值为5,则u=5*ones(1,101)(3)单位斜坡输入:u=t (t=0),在离散系统中t=kT, (k=0,2,3,), 则在MATLAB程序中可以写成: k=0: u=(k*T); 如:T=0.2s, k=50,则有k=0: u=(k*0.2);(4)加速度输入:u(k)= (k=0,1,2,3,) 如: k=10, T=0.2s 时,MATLAB程序为:10; u=0.5*(0.2*k).2;1、 已知系统矩阵为A=,试用化矩阵A为对角线规范型方法求系统的状态转移矩阵。先用eig()函数求A的特征值,然后求非奇异变

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2