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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(用MATLAB处理线性系统数学模型.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

用MATLAB处理线性系统数学模型.docx

1、用MATLAB处理线性系统数学模型实验一 用MATLAB处理线性系统数学模型说明一个控制系统主要由被控对象、测量装置、控制器和执行器四大部分构成。MATLAB软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。采用MATLAB软件仿真的关键问题之一是在MATLAB软件平台上怎样正确表示被控对象的数学模型。实验目的1了解MATLAB软件的基本特点和功能;2掌握线性系统被控对象传递函数数学模型在MATLAB环境下的表示方法及转换;3掌握多环节串联、并联、反馈连接时整体传递函数的求取方法;4 掌握在SIMULINK环境下系统结构图的形成方法及整体传递函数的求取方法;5了解在MATLAB

2、环境下求取系统的输出时域表达式的方法.实验指导 一、被控对象模型的建立在线性系统理论中,一般常用的描述系统的数学模型形式有:(1)传递函数模型有理多项式分式表达式(2)传递函数模型零极点增益表达式(3)状态空间模型(系统的内部模型)这些模型之间都有着内在的联系,可以相互进行转换。1、传递函数模型有理多项式分式表达式设系统的传递函数模型为若已知系统的传递函数为:对线性定常系统,式中s的系数均为常数,且an不等于零。这时系统在MATLAB中可以方便地由分子和分母各项系数构成的两个向量唯一地确定,这两个向量常用num和den表示。num=bm,bm-1,b1,b0den=an,an1,,a1,a0注

3、意:它们都是按s的降幂进行排列的.分子应为m项,分母应为n项,若有空缺项(系数为零的项),在相应的位置补零。然后写上传递函数模型建立函数:sys=tf(num,den)。这个传递函数便在MATLAB平台中被建立,并可以在屏幕上显示出来。例1-1: 已知系统的传递函数描述如下: 在MATLAB命令窗口(Command Window)键入以下程序: num=12,24,0,20; den=2 4 6 2 2; sys=tf(num,den)回车后显示结果:Transfer function: 12 s3 + 24 s2 + 20-2 s4 + 4 s3 + 6 s2 + 2 s + 2并同时在MA

4、TLAB中建立了这个相应的有理多项式分式形式的传递函数模型。则(1)系统的MATLAB程序为:举例12:已知系统的传递函数描述如下:其中,多项式相乘项,可借助多项式乘法函数conv来处理。在MATLAB命令窗口 键入以下程序: 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); sys=tf(num,den)回车后显示结果:Transfer function: 4 s5 + 56 s4 + 288 s3 + 672 s2 + 720 s + 288-s7 + 6 s6 + 14

5、s5 + 21 s4 + 24 s3 + 17 s2 + 5 s同时在MATLAB中建立了这个有理多项式分式形式的传递函数模型。2相应的(2)系统的MATLAB程序为:2、传递函数模型零极点增益模型零极点增益模型为: 其中:K为零极点增益,zi为零点,pj为极点。该模型 在MATLAB中,可用z,p,k矢量组表示,即z=z1,z2,zm; p=p1,p2,.。,pn; k=K;然后在MATLAB中写上零极点增益形式的传递函数模型建立函数:sys=zpk(z,p,k)。这个零极点增益模型便在MATLAB平台中被建立。举例13: 已知系统的零极点增益模型:在MATLAB命令窗口 键入以下程序: z

6、=3; p=1,2,-5; k=6; sys=zpk(z,p,k)Zero/pole/gain: 6 (s+3)-(s+1) (s+2) (s+5)则在MATLAB中建立了这个零极点增益的模型。33、状态空间模型状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,如下: 则在MATLAB中建立状态空间模型的程序如下: A=A; B=B; C=C; D=D; sys=ss(A,B,C,D)二、不同形式模型之间的相互转换不同形式之间模型转换的函数:(1)tf2zp:多项式传递函数模型转换为零极点增益模型。格式为:z,p,k=tf2zp(num,den)(2)zp2tf: 零极点增益模型转换

7、为多项式传递函数模型。格式为:num,den=zp2tf(z,p,k)(3)ss2tf: 状态空间模型转换为多项式传递函数模型.格式为:num,den=ss2tf(a,b,c,d)(4)tf2ss: 多项式传递函数模型转换为状态空间模型。格式为:a,b,c,d=tf2ss(num,den)(4)zp2ss:零极点增益模型转换为状态空间模型。格式为:a,b,c,d=zp2ss(z,p,k)(5)ss2zp:状态空间模型转换为零极点增益模型.格式为:z,p,k=ss2zp(a,b,c,d)三、环节串联、并联、反馈连接时等效的整体传递函数的求取1、串联这里:在MATLAB中求取整体传递函数的功能,采

8、用如下的语句或函数来实现。.1G=G1*G22G=series(G1,G2)3num,den=series(num1,den1,num2,den2)例1-4 两环节G1、G2串联,求等效的整体传递函数G 解:实现的程序: n1=2;d1=1 3; n2=7;d2=1 2 1; G1=tf(n1,d1); G2=tf(n2,d2); G=G1G2 运行结果:Transfer function: 14-s3 + 5 s2 + 7 s + 3实现的程序:n1=2;d1=1 3;n2=7;d2=1 2 1;G1=tf(n1,d1);G2=tf(n2,d2);G=series(G1,G2)运行结果:Tr

9、ansfer function: 14-s3 + 5 s2 + 7 s + 3实现的程序:n1=2;d1=1 3;n2=7;d2=1 2 1;G1=tf(n1,d1);G2=tf(n2,d2); n,m=series(n1,d1,n2,d2)运行结果:n = 0 0 0 14m = 1 5 7 3例1-5 四环节G1、G2、 G3、G4串联,求等效的整体传递函数G 解:实现的程序: n1=2;d1=1 3;n2=7;d2=1 2 1;G1=tf(n1,d1);G2=tf(n2,d2);G=G1*G2*G1*G1运行结果:Transfer function: 56-s5 + 11 s4 + 46

10、 s3 + 90 s2 + 81 s + 272、并联两环节G1(s)与G2(s)并联,则等效的整体传递函数为G(s)=G1(s)+G2(s)在MATLAB中求取整体传递函数的功能,采用如下的语句或函数来实现。 G=G1+G2 G= parallel1 (G1,G2) num,den= parallel2 (num1,den1,num2,den2)例16 两环节G1、G2并联,求等效的整体传递函数G(s) 解:实现的程序: n1=2;d1=1 3;n2=7;d2=1 2 1;G1=tf(n1,d1);G2=tf(n2,d2);G1+G2运行结果:Transfer function: 2 s2

11、+ 11 s + 23-s3 + 5 s2 + 7 s + 3实现的程序: n1=2;d1=1 3;n2=7;d2=1 2 1;G1=tf(n1,d1);G2=tf(n2,d2);G=parallel(G1,G2)运行结果:Transfer function: 2 s2 + 11 s + 23-s3 + 5 s2 + 7 s + 3实现的程序: n1=2;d1=1 3;n2=7;d2=1 2 1; n,d=parallel(n1,d1,n2,d2)运行结果:n = 0 2 11 23d = 1 5 7 3若 则G(s)=G1(s)G2(s) 相应的语句为G=G1-G2例17:程序如下 n1=2

12、;d1=1 3;n2=7;d2=1 2 1;G1=tf(n1,d1);G2=tf(n2,d2);G=G1G2运行结果:Transfer function: 2 s2 - 3 s - 19-s3 + 5 s2 + 7 s + 3 3反馈:feedback则 在MATLAB中采用如下的语句或函数来求取闭环传递函数 G= feedback(G1,G2,sign) num,den=feedback(num1,den1,num2,den2,sign) G= cloop (G1, sign) numc,denc=cloop(num,den,sign) 这里,sign=1时采用正反馈;当sign= -1时采

13、用负反馈;sign缺省时,默认为负反馈。其中G2;num2,den2;对应H(s)。3 只用于单位反馈系统.例1-8 ,已知 求闭环传递函数。两环节G1、G2分别为 解: a: n1=3 100 ;d1=1 2 81;n2=2;d2=2 5;G1=tf(n1,d1);G2=tf(n2,d2);G=feedback(G1,G2,-1) 结果;Transfer function: 6 s2 + 215 s + 500-2 s3 + 9 s2 + 178 s + 605 b: n1=3 100 ;d1=1 2 81;n2=2;d2=2 5;G1=tf(n1,d1);G2=tf(n2,d2);G=fe

14、edback(G1,G2,1) 结果:Transfer function: 6 s2 + 215 s + 500-2 s3 + 9 s2 + 166 s + 205num1=3 100 ;den1=1 2 81;num2=2;den2=2 5;num,den=feedback(num1,den1,num2,den2,-1) 结果:num = 0 6 215 500den = 2 9 178 605举例19 ,已知 求闭环传递函数。两环节G1、G2分别为 解 n1=3 100 ;d1=1 2 81;G1=tf(n1,d1);G2=1;G=feedback(G1,G2,-1) 结果:Transfe

15、r function: 3 s + 100-s2 + 5 s + 181 n1=3 100 ;d1=1 2 81;G1=tf(n1,d1);G=cloop(G1,-1) 结果:Transfer function: 3 s + 100-s2 + 2 s + 81以上语句对于零极点增益模型也是适用的例110:z=-3;p=-1;k=3;G1=zpk(z,p,k);z1=4;p1=2;k1=5;G1=zpk(z,p,k);G2=zpk(z1,p1,k1);G=G1*G2 Zero/pole/gain:15 (s+3) (s+4)- (s+1) (s+2) GG=G1+G2 Zero/pole/gai

16、n:8 (s+1。275) (s+3.725)- (s+1) (s+2) GGG=feedback(G1,G2,-1) Zero/pole/gain:0.1875 (s+3) (s+2)- (s+3。25) (s+3。5)以上运算中往往通分运算后不约简,可以再使用minreal( )函数来实现约简,其格式为 G1= minreal(G)举例111z=3;p=1;k=3;G1=zpk(z,p,k);z1=1;p1=2;k1=5;G1=zpk(z,p,k);G2=zpk(z1,p1,k1);G=G1*G2 Zero/pole/gain:15 (s+3) (s+1)- (s+1) (s+2) G1=

17、minreal(G) Zero/pole/gain:15 (s+3)- (s+2)四、系统复杂连接时等效的整体传递函数的求取1用Siumlink软件实现传递函数的求取Siumlink软件是基于Windows的模型化图形输入的仿真软件,是MATLAB软件的拓展,在Siumlink环境下输入系统的方框图则可以方便的得到其传递函数。 系统方框图的输入1在MATLAB命令窗口中输入simulink,出现一个称为Simulink Library Browser的窗口,它提供构造方框图(或其他仿真图形界面)的模块; 在MATLAB主窗口对FileNewModel操作,打开模型文件窗口,在此窗口上,构造方框

18、图。 以下面的系统为例,介绍构造方框图的各模块录入方法和设置方法。 图中, 录入各传递函数方框在Simulink Library Browser的窗口打开SimulinkContinuous子库,将Transfer Fcn模块复制到(拽到)模型文件窗口,共复制6个方框,分别放到相应位置。传递函数是积分环节的,也可以复制Integrator模块 录入相加点在Simulink Library Browser的窗口打开SimulinkMath子库,将Sum模块复制到(拽到)模型文件窗口,共复制复制到(拽到)模型文件窗口,共复制3个相加点,分别放到相应位置。录入输入点与输出点标记打开SimulinkS

19、ources子库,将In1模块(输入点)复制到(拽到)模型文件窗口,放到相应位置。打开SimulinkSinks子库,将Out1模块(输出点)复制到(拽到)模型文件窗口,放到相应位置。 连接各方框(环节)在模型文件窗口上,按箭头方向从起点到终点按住鼠标左键,连接方框.传递函数方框有信号的入点和出点标记,画图不方便时,可以修改原来的方向,右键点击方框,在出现的浮动菜单上,作如下选择,即可实现方框旋转。还可以对方框加阴影,改颜色,增加或取消修改名称注释及其位置等.其他模块也有这些功能。 双击各模块,在参数设定窗口,设置模块参数.对于方框,是确定该方框表示的具体传递函数.对于相加点,是确定图形标记是

20、圆形还是方形,并确定有几个需要相加的输入信号及信号极性.输入点与输出点标记不用再设置.在模型文件窗口构建得到的方框图如下: 将构建的方框图保存自定文件名,保存在默认的目录下。文件名例如:cdhs . 求取方框图表示的系统的传递函数 有理多项式形式在MATLAB命令窗口(Command Window)键入以下程序: n,d=linmod(cdhs) 注: 中是自定的文件名。结果:Returning transfer function modeln = 0 0.0000 0 0.0000 12。0000 2.4000 0。0000d = 1。0000 1。7000 16.8000 26.5000

21、21.6000 3.2000 0。0000 零极点增益模型在MATLAB命令窗口(Command Window)键入以下程序: a,b,c,d=linmod2(cdhs);G=ss(a,b,c,d);G1=ZPK(G) 结果:Zero/pole/gain: 12 s (s+0.2)-s (s+0.1855) (s2 + 1。521s + 1.12) (s2 - 0.006824s + 15。41)化简 G2=minreal(G1) 结果:Zero/pole/gain: 12 (s+0。2)-(s+0.1855) (s2 + 1.521s + 1.12) (s2 - 0.006824s + 15

22、.41)2用信号流程图实现传递函数的求取实验内容1自确定2个传递函数,实现传递函数的录入和求取串联、并联、反馈连接时等效的整体传递函数。要求分别采用有理多项式模型和零极点增益模型两种传递函数形式。2进行2例有理多项式模型和零极点增益模型间的转换。3在Siumlink环境下实现如下系统的传递函数的求取。各环节传递函数自定.4用画信号流程图方法求取下面系统的传递函数。实验报告要求1写明实验目的和实验原理。实验原理中简要说明求取传递函数的途径和采用的语句或函数。2在实验过程和结果中,要求按项目写清楚自定的传递函数、画出系统方框图,从屏幕上复制程序和运行结果,复制系统的Simulink方框图,打印报告或打印粘贴在报告上。不方便打印的同学,要求手动从屏幕上抄写和绘制。3简要写出实验心得和问题或建议。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1