第04讲MATLAB-simulink控制系统的数学模型及其相互转换_第1页
第04讲MATLAB-simulink控制系统的数学模型及其相互转换_第2页
第04讲MATLAB-simulink控制系统的数学模型及其相互转换_第3页
第04讲MATLAB-simulink控制系统的数学模型及其相互转换_第4页
第04讲MATLAB-simulink控制系统的数学模型及其相互转换_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章控制系统的数学模型及其转换控制系统的数学模型在控制系统的研究 中有着相当重要的地位,要对系统进行仿真 处理,首先应当知道系统的数学模型,然后 才可以对系统进行模拟O同样,如果知道了系统的模型,才可以在此基础上设计一个合适的控制器,使得系 统响应达到预期的效果,从而符合工程实际 的需要。在线性定常系统(连续系统、离散系统) 理论中,一般常用的数学模型形式有: :传递函数模型(系统的外部模型) :状态空间模型(系统的内部模型) :零极点增益模型:部分分式模型这些模型之间都有着内在的联系,可以 相互进行转换。为了对系统的性能进行分析首先要建立其数学模型,在MATLAB中提供了四种数 学模型描述

2、形式:(1) 传递函数模型tf()(2) 零极点增益模型zpk()(3) 状态空间模型ss()部分分式模型residue()72.1线性系统数学模型的基本描述方法1传递函数G(s)二型二加加+加心+t/(s)s'1 +QS"J + 给传递函数在MATLAB下可以方便的由其分子和分母多项式系数所构成的两个向量唯一确定出来。num=b0 by bm; den=1 a1 a2-.- ajsys=tf(num5den)WP 工 JIII 一I L E Il _ 5例2.1若给定系统的传递函数为皿器叮:;塩當解可以将其用下列MATLAB语句表示»num=6 12 6 10;d

3、en=1 2 31 1;»printsys(num5den) num/den =6 sA3 + 12 sA2 + 6 s + 10printsys:显示或打印系统sA4 + 2 sA3 + 3 sA2 + s + 1 »sys=tf(num5den) Transfer function:6sA3 + 12sA2 + 6s + 10 sA4 + 2 sA3 + 3 sA2 + s + 1当传递函数的分子或分母由若干个多项式乘 积表示时,它可由MATLAB提供的多项式乘法运算函数conv()来处理,以便获得分子和分母多项式 系数向量,此函数的调用格式为c二conv (a, b)

4、其中:a和b分别为由两个多项式系数构成的向量, 而c为a和b多项式的乘积多项式系数向量。conv() 函数的调用是允许多级嵌套的。例22已知系统传递函数为&二7 (2s+3)?(3s + 1Xs + 2)2(5s3 + 3 + 8)利用MATLAB将上述模型表示出来。解:其MATLAB命令为:»num=7*253;»den=conv(conv(conv(15O5O5O5351 )5conv(1525152)5 538);»sys=tf(num5den)运行结果:Tran sfer function:14 s+ 2115sA9+65sA8+89sA7+83

5、sA6 +152 sA5 +140 sA4 + 32 sA3 »den=conv(1 0 0 05conv(3 15conv(1 25conv(1 2JJ5 0 3 8);对具有r个输入和m个输出的多变量系统, 可把mXr的传递函数矩阵G(S)写成和单变量 系统传递函数相类似的形式,即_ 呛"+占押I +知價+比sn +1sM_1 H+式中:为mXr实常数矩阵,分 母多项式为该传递函数矩阵的特征多项式。在MATLAB控制系统工具箱中,提供了 表示单输入多输出系统的表示方法,即num=B0 B1. Bn; den=1 a2 . an其中:分子系数包含在矩阵num中,num行数

6、与输出y的维数一致,每行对应一个输出,den是行向量,为传递函数矩阵公分母多项式系数。例23对于单输入多输出系统3 + 2G(s) =+ 2s + 5 3s3 +5 +2$ +1解 则可将其用下列MATLAB语句表示»num=O 0 3 2;1 0 2 5;den=3 5 2 1; »printsys(num5den)num(1)/den =3s + 23 sA3 + 5 sA2 + 2 s + 1 num(2)/den = sA3 + 2 s + 53 sA3 + 5 sA2 + 2 s + 12零极点增益形式单输入单输出系统的零极点模型可表示 为科G(s) = f 3

7、=K(r)(s_Z2)G_s) n(5_A)(s_p)(s_2)(s_pjz=l1式中:Zj(j=l, 2, 和Pi(i=l, 2, .,n) w 为系统的零点和极点,它们既可以为实数又可以为复数,而K称为系统的增益。III在M ATLAB下零极点增益模型可以由增益K和 零、极点所构成的列向量唯一确定出来。即Z=z1 ;z2;zm; P=p1 ;p2;pn sys=zpk(z,p,k)对于单输入多输出系统,列向量P中储存为系统的极点;零点储存在矩阵Z的列中,Z的列数等于 输出向量的维数,每列对应一个输出,对应增益则 在列向量K中。19例已知系统传递函数为MRG(s) =5(s + 20) s(

8、s + 4.6)(s + 1)利用M ATLAB将上述模型表示出来。解:>>k=5;z=20;p=0;46;l;>>sys=zpk(z,p,k)运行结果为:Zero/pole/gain:5 (s+20) s (s+4.6) (s+1)MATLABI具箱中的函数poly()和roots() 可用来实现多项式和零极点间的转换,例如在命令 窗口中进行如下操作可实现互相转换。»P=1 3 5 2;»R=roots(P)R=-1.2267+1.4677i-1.2267-1.4677i-0.5466»P1=poly(R)P1 =1.0000 3.000

9、0 5.0000 2.00003部分分式形式传递函数也可表示成部分分式或留数形式,即riS_Pi+ /z(s)nGG)二工i=l式中:pj(i=1,2,n)为该系统的n个极点,rs(i=1,2,.,n)是对应各极点的留数;h(s)则表示传递函数分子多项式除以分母多项式的余式。在MATLAB下它也可由系统的极点、留数和余式系数所构成的向量唯一确定出来,即P = Pl;P2; -;Pnl;R = r1;r2; -;rnl;H = h° h1. hm.n4. 状态空间表达式设线性定常连续系统的状态空间表达式为J x(0 = Ax(t) + Bu (f)y(t) = Cx(t) + Du(t

10、)式中 A:nXn; B:nXr; C:mXn; D:mXr如果传递函数(阵)各元素为严格真有理分式,则0=0,此时上式可写为x(Z)二 Ax(t) + Bx(t)y(t)二 Cx(t)它们可分别简记为£(A, B, C,D)和£(4 B, C)系统的状态空间表达式在MATLAB下可以用一个矩阵组£ (A, B, C, D)和£ (A, B, C)来唯一确定。用函数ss()来建立控制系统的状态空间模型,ss()函数的调用格式为:sys二ss (a, b, c, d)函数的返回变量sys为连续系统的状态空间模 型。函数输入参数a, b, c, d分别对应于

11、系统的A, B, C, D参数矩阵。0 0 1 1 1_-3/2 -2 -1/2+-1 -1-30-4-1 -3例25设系统的状态空间表达式为%(/)=u(t)x(t)001 00 1y(') =解:此系统可由下面的MATLAB语句唯一表示出来»A=0 0 1 ;-3/2 -2 -1/2;-3 0 -4; »8=1 1;-1 -1 ;-1 -3;C=1 0 0;0 1 0;»£>=zeros(2,2);»sys=ss(A,B,C,D)运行结果显示:29a =x1 x2 x3x1 001x2 -1.5 -2 -0.5x3 -30-4

12、b =u1 u2x1 1 1x2 -1 -1x3 -1 -3c =x1 x2 x3y1 1 0 0y2 0 1 0d =u1 u2y1 0 0y2 0 0Continuous-time model.2.2系统数学模型间的相互转换在系统仿真研究中,在一些场合下需要 用到系统的一种模型,而在另一场合下可能 又需要系统的另外一种模型,而这些模型之 间又有某种内在的等效关系,所以了解由一 种模型到另外一种模型的转换方法也是很必 要的。在MATLAB控制系统工具箱中提供了 大量的控制系统模型相互转换的函数,如表2所示。21表数学模型转换函数及其功能函数名ss2tf函数功能将系统状态空间模型转换为传递函数

13、模型ss2zp将系统状态空间模型转换为零极点增益模型tf2ss将系统传递函数模型转换为状态空间模型tf2zp将系统传递函数模型转换为零极点增益模型zp2ss将系统零极点增益模型换为状态空间模型zp2tf零极点增益模型换为传递函数模型residue将传递函数形式与部分分式形式的数学模型相互 转换的函数231状态空间表达式到传递函数的转换如果系统的状态空间表达式为:(x = Ax + Buy = Cx + Du则系统的传递函数为:G(s) = C(sI-AyB + D =严+B*心+ + §”+q*z Han在MATLAB控制系统工具箱中,给出一个根据 状态空间表达式求取系统传递函数的函

14、数ss2tf(), 其调用格式为num, den二ss2tf (A, B, C, D, iu)其中:iu为输入的代号,即用来指定第几个输入。对于单变量系统iu=1,对多变量系统,不能用此函 数一次地求出对所有输入信号的整个传递函数阵, 而必须对各个输入信号逐个地求取传递函数子矩阵, 最后获得整个的传递函数矩阵。例26对于例25中给出的多变量系统,可以由下 面的命令分别对各个输入信号求取传递函数向量, 然后求出这个传递函数阵。 001 _ 11 x(t)-3/2-2-1/2X(0 +-1-1u(t)<-30-4-1-3W)二100100xt)27解:利用下列MATLAB语句»nu

15、ml,denl=ss2tf(A,B,C,D,l)?num2,den2=ss2tf(A,B,C,D,2)结果显不:numl=0 1.0000 5.0000 6.00000 -1.0000 -5.0000 -6.0000denl=1 6 11 6num2=0 1.0000 3.0000 2.0000 -1.0000 -4.0000 -3.0000den2=1 6 11 6 26则可得系统的传递函数阵G(s) =153 +6s2 +115 + 6s2 +5 + 6-(s2 +5 + 6)s? + 3s + 2(£+4s + 3)5+15+3-1 _1272状态空间形式到零极点形式的转换MA

16、TLAB函数ss2zp()的调用格式为Z, P,K=ss2zp(A,B,CJD,iu)其中:iu为输入的代号,对于单变量系统iu = 1, 对于多变量系统iu表示要求的输入序号;返回量列 向量P储存传递函数的极点,而零点储存在矩阵Z 中,Z的列数等于输出y的维数,每列对应一个输出, 对应增益则在列向量K中。上例中:»Z1 ,P1,K1 =ss2zp(A,B,C,D,1 )JZ2,P2,K2=ss2zp(A,B,C,D,2)结果显示:Z1 =-3.0000 -2.0000-2.0000 -3.0000P1 =-2-13K1 =1-129Z2 =-1.0000 -3.0000-2.000

17、0 -1.0000P2 =-2-1-3K2 =1-1从而可求得系统的传递函数矩阵为G(s) =1(s + 2)(s + 3)(5 +1)(5 + 2)(5 + 3) (s + 2)(5 + 3)(5+ 1)(5 +2)(s + 3)(s + l)31333,传递函数到状态空间表达式的转换如果已知系统的传递函数模型,求取系统状态 空间表达式的过程又称为系统的实现。由于状态变 量可以任意地选取,所以实现的方法并不是唯一的, 这里只介绍一种比较常用的实现方法。对于单输入多输出系统G(s)二sn +%严 Han+ do适当地选择系统的状态变量, 可以写成则系统的状态空间表达式Z|_ an-51 000

18、X +0 100X-UBn x + du在MATLAB控制系统工具箱中称这种方法为能控标准 型实现方法,并给出了直接实现函数,该函数的调用格式 为A5B5C5D=tf2ss(num5den)其中:num的每一行为相应于某输出的按S的降幕顺序排列 的分子系数,其行数为输出的个数,行向量den为按S的降 幕顺序排列的公分母系数。4.传递函数形式到零极点形式的转换MATLAB函数tf 2zp ()的调用格式为Z, P,K=tf2zp(num,den)5. 零极点形式到状态空间表达式的转换MATLAB函数zp2ss()的调用格式为A,B,C,D=zp2ss(Z,P,K)6. 零极点形式到传递函数形式的

19、转换MATLAB函数zp2tf()的调用格式为num,den=zp2tf( Z,P,K)7传递函数形式与部分分式间的相互转换MATLAB的转换函数residue ()调用格式为R,P,H=residue(num,den)num,den=residue(R,P,H)其中:列向量P为传递函数的极点,对应各极点的 留数在列向量R中,行向量H为原传递函数中剩余 部分的系数,num, den分别为传递函数的分子分 母系数。37例:部分分式展开:G(s)=2s?+9s + ls3 +2 +4s + 4解:»num=2503951;»den=151 A4;»r5p5h=resi

20、due(num5den)结果显不:0.0000-0.2500i0.0000+2.0000i20.0000+0.2500i-2.00000.0000-2.0000!-1.0000结果表达式: G( $) = 2 + °2勺 + °2勺 * _ 2- s-2i s + 2i s +12.3系统模型的连接所谓系统模型的连接,就是将两个或多个子系 统按一定方式加以连接形成新的系统。这种连接组 合方式主要有串联、并联、反馈等形式。MATLAB 提供了进行这类组合连接的相关函数。不同形式的数学模型连接时,MATLAB根据 优先原则确定连接后的数学模型形式。优先级由高 到低的顺序为:状态

21、空间模型、零极点增益模型、 传递函数模型。连接后的数学模型形式由优先级高 的形式决定。1. 串联连接u图2-1系统的串联连接在MATLAB的控制系统工具箱中提供了系统的 串联连接处理函数series(),它既可处理由状态方 程表示的系统,也可处理由传递函数阵表示的单输 入多输出系统,其调用格式为A , B ,C ,D=series(Al, Bl, Cl, DI, A2, B2, C2, D2)num,den=series(numl,deni,num2,den2)372. 并联连接在MATLAB的控制系统工具箱中提供了系统的并联连接处理函数parallel ),该函数的调用格式为A , B ,C

22、 ,D=parallel(Al, Bl, Cl, DI, A2, B2, C2, D2)numden=parallel(num ldenl,mim2,den2)03. 反馈连接在MATLAB的控制系统工具箱中提供了系统反馈连接处理函数feedback(),其调用格式为A,B,C,D=feedback(A1 ,B1 ,C1 ,D1 ,A2,B2,C2,D2 ,sign)nu m,den=feedback( num1 ,den1 ,num2,den2,sig n)uMuyU2<图2-5系统的反馈连接其中,sign为反馈极性, 对于正反馈sign取1 , 对负反馈取-1或缺省。特别地,对于单位反馈系统,MATLAB提供了更简单的处理函数cloop(),其调用格式为A,B,C,D=cloop(A1 ,B1 ,C1 ,D1 ,sign) num,den=cloop(num15den1 ,sign) A,B,C,D=cloop(A1 ,B1 ,C1 ,D1,outputs,inpu ts) 其

温馨提示

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

评论

0/150

提交评论