1_用matlab处理线性系统数学模型_第1页
1_用matlab处理线性系统数学模型_第2页
1_用matlab处理线性系统数学模型_第3页
1_用matlab处理线性系统数学模型_第4页
1_用matlab处理线性系统数学模型_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

实验二 用 MATLAB 处理线性系统数学模型 说明 一个控制系统主要由被控对象、测量装置、控制器和执行器四大部分构成。MATLAB 软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。采用 MATLAB 软件仿真的关键问题之一是在 MATLAB 软件平台上怎样正确表示被控对象的数学模型。 实验目的 1了解 MATLAB 软件的基本特点和功能; 2掌握线性系统被控对象传递函数数学模型在 MATLAB 环境下的表示方法及转换; 3掌握多环节串联、并联、反馈连接时整体传递函数的求取方法; 4 掌握在 SIMULINK 环境下系统结构图的形成方法及整体传递函数的求取方法; 5了解在 MATLAB 环境下求取系统的输出时域表达式的方法。 实验指导 一、被控对象模型的建立 在线性系统理论中,一般常用的描述系统的数学模型形式有: (1)传递函数模型有理多项式分式表达式 (2 )传递函数模型零极点增益表达式 (3 )状态空间模型(系统的内部模型) 这些模型之间都有着内在的联系,可以相互进行转换。 1、传递函数模型有理多项式分式表达式 设系统的传递函数模型为 011.)()( assas bbbsRCsGnnmm 对线性定常系统,式中 s 的系数均为常数,且 an 不等于零。 这时系统在 MATLAB 中可以方便地由分子和分母各项系数构成的两个向量唯一地确定, 这两个向量常用 num 和 den 表示。 num=bm,bm-1,b1,b0 den=an,an-1,a1,a0 2 注意:它们都是按 s 的降幂进行排列的。分子应为 m 项,分母应为 n 项,若有空缺项 (系数为零的项) ,在相应的位置补零。 然后写上传递函数模型建立函数:sys=tf(num,den)。这个传递函数便在 MATLAB 平台 中被建立,并可以在屏幕上显示出来。 例 1-1: 已知系统的传递函数描述如下: 264201)(23sssG 在 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 并同时在 MATLAB 中建立了这个相应的有理多项式分式形式的传递函数模型。 举例 1-2:已知系统的传递函数描述如下: )523()164)(2sssG 其中,多项式相乘项,可借助多项式乘法函数 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 s5 + 21 s4 + 24 s3 + 17 s2 + 5 s 同时在 MATLAB 中建立了这个有理多项式分式形式的传递函数模型。 湖南工学院教案计算机仿真技术实验 3 2传递函数模型 零极点增益模型 零极点增益模型为: 12mn(s-z).(s-z)G()=Kpp 其中:K 为零极点增益,z i 为零点,p j 为极点。 该模型 在 MATLAB 中,可用z,p,k矢量组表示,即 z=z1,z2,zm; p=p1,p2,.,pn; k=K; 然后在 MATLAB 中写上零极点增益形式的传递函数模型建立函数:sys=zpk(z,p,k)。 这个零极点增益模型便在 MATLAB 平台中被建立。 举例 1-3: 已知系统的零极点增益模型: )5(2)1( 36)ssG 在 MATLAB 命令窗口 键入以下程序: z=-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 中建立了这个零极点增益的模型。 3状态空间模型 状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,如下: DuCxy BA 则在 MATLAB 中建立状态空间模型的程序如下: A=A; B=B; C=C; D=D; sys=ss(A,B,C,D) 4 二、不同形式模型之间的相互转换 不同形式之间模型转换的函数: (1)tf2zp :多项式传递函数模型转换为零极点增益模型。 格式为:z,p,k=tf2zp(num,den) (2)zp2tf : 零极点增益模型转换为多项式传递函数模型。 格式为: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 中求取整体传递函数的功能,采用如下的语句或函数来实现。 . G=G1*G2 G=series(G1,G2) num,den=series(num1,den1,num2,den2) 例 1-4 两环节 G1、G 2 串联,求等效的整体传递函数 G 3)(1s17)(ss 解:实现的程序: n1=2;d1=1 3; n2=7;d2=1 2 1; G1=tf(n1,d1); G2=tf(n2,d2); G=G1*G2 运行结果: 湖南工学院教案计算机仿真技术实验 5 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) 运行结果: 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); n,m=series(n1,d1,n2,d2) 运行结果: n = 0 0 0 14 m = 1 5 7 3 例 1-5 四环节 G1、G 2、 G3、G 4 串联,求等效的整体传递函数 G 321s127s 解:实现的程序: 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 s3 + 90 s2 + 81 s + 27 2、并联 两环节 G1(s)与 G2(s)并联,则等效的整体传递函数为 G(s)=G1(s)+G2(s) 6 在 MATLAB 中求取整体传递函数的功能,采用如下的语句或函数来实现。 G=G1+G2 G= parallel (G1,G2) num,den= parallel (num1,den1,num2,den2) 例 1-6 两环节 G1、G 2 并联,求等效的整体传递函数 G(s) 3)(1s17)(ss 解: 实现的程序: 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 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 23 d = 1 5 7 3 若 则 G(s)=G1(s)-G2(s) 相应的语句为 G=G1-G2 湖南工学院教案计算机仿真技术实验 7 例 1-7:程序如下 n1=2;d1=1 3;n2=7;d2=1 2 1;G1=tf(n1,d1);G2=tf(n2,d2);G=G1-G2 运行结果: Transfer function: 2 s2 - 3 s - 19 - s3 + 5 s2 + 7 s + 3 3反馈:feedback 则 在 MATLAB 中采用如下的语句或函数来求取闭环传递函数 )(sG闭 环 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 时采用负反馈;sign 缺省时,默认为负反馈。 其中 G2;num2,den2;对应 H(s)。 只用于单位反馈系统。 例 1-8 ,已知 求闭环传递函数。 两环节 G1、 G2 分别为 81203)(1ss 52)(sG 解: a: 8 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=feedback(G1,G2,1) 结果: Transfer function: 6 s2 + 215 s + 500 - 2 s3 + 9 s2 + 166 s + 205 num1=3 100 ;den1=1 2 81;num2=2;den2=2 5; num,den=feedback(num1,den1,num2,den2,-1) 结果: num = 0 6 215 500 den = 2 9 178 605 举例 1-9 ,已知 求闭环传递函数。 两环节 G1、 G2 分别为 8103)(s1)(2sG 解 n1=3 100 ;d1=1 2 81;G1=tf(n1,d1);G2=1;G=feedback(G1,G2,-1) 结果: Transfer function: 3 s + 100 - s2 + 5 s + 181 湖南工学院教案计算机仿真技术实验 9 n1=3 100 ;d1=1 2 81;G1=tf(n1,d1);G=cloop(G1,-1) 结果: Transfer function: 3 s + 100 - s2 + 2 s + 81 以上语句对于零极点增益模型也是适用的 例 1-10: 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/gain: 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) 举例 1-11 z=-3;p=-1;k=3;G1=zpk(z,p,k);z1=-1;p1=-2;k1=5;G1=zpk(z,p,k); 10 G2=zpk(z1,p1,k1);G=G1*G2 Zero/pole/gain: 15 (s+3) (s+1) - (s+1) (s+2) G1=minreal(G) Zero/pole/gain: 15 (s+3) - (s+2) 四、系统复杂连接时等效的整体传递函数的求取 1用 Siumlink 软件实现 传递函数的求取 Siumlink 软件是基于 Windows 的模型化图形输入的仿真软件,是 MATLAB 软件的拓展, 在 Siumlink 环境下输入系统的方框图则可以方便的得到其传递函数。 系统方框图的输入 在 MATLAB 命令窗口中输入 simulink,出现一个称为 Simulink Library Browser 的窗 口,它提供构造方框图(或其他仿真图形界面)的模块; 在 MATLAB 主窗口对 FileNewModel 操作,打开模型文件窗口,在此窗口上,构 造方框图。 湖南工学院教案计算机仿真技术实验 11 以下面的系统为例,介绍构造方框图的各模块录入方法和设置方法。 图中, 1sGs421263sGs314154sGs6 录入各传递函数方框 在 Simulink Library Browser 的窗口打开 SimulinkContinuou s 子库,将 Transfer Fcn 模块复制到(拽到)模型文件窗口,共复制 6 个方框,分别放到相应位置。传递函数是积分 环节的,也可以复制 Integrator 模块 录入相加点 在 Simulink Library Browser 的窗口打开 SimulinkMath 子库,将 Sum 模块复制到 (拽到)模型文件窗口,共复制复制到(拽到)模型文件窗口,共复制 3 个相加点,分别放 到相应位置。 12 录入输入点与输出点标记 打开 SimulinkSources 子库,将 In1 模块(输入点)复制到(拽到)模型文件窗口, 放到相应位置。 打开 SimulinkSinks 子库,将 Out1 模块(输出点)复制到(拽到)模型文件窗口, 放到相应位置。 连接各方框(环节) 在模型文件窗口上,按箭头方向从起点到终点按住鼠标左键,连接方框。 传递函数方框有信号的入点和出点标记,画图不方便时,可以修改原来的方向,右键点 击方框,在出现的浮动菜单上,作如下选择,即可实现方框旋转。 还可以对方框加阴影,改颜色,增加或取消修改名称注释及其位置等。其他模块也有这 些功能。 双击各模块,在参数设定窗口,设置模块参数。 对于方框,是确定该方框表示的具体传递函数。 湖南工学院教案计算机仿真技术实验 13 对于相加点,是确定图形标记是圆形还是方形,并确定有几个需要相加的输入信号及信 号极性。 输入点与输出点标记不用再设置。 在模型文件窗口构建得到的方框图如下: 14 将构建的方框图保存 自定文件名,保存在默认的目录下。文件名例如:cdhs 。 求取方框图表示的系统的传递函数 有理多项式形式 在 MATLAB 命令窗口(Command Window)键入以下程序: n,d=linmod(cdhs) 注: 中是自定的文件名。 结果: Returning transfer function model n = 0 0.0000 0 0.0000 12.0000 2.4000 0.0000 d =

温馨提示

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

评论

0/150

提交评论