多分支判断语句switch-caseppt课件_第1页
多分支判断语句switch-caseppt课件_第2页
多分支判断语句switch-caseppt课件_第3页
多分支判断语句switch-caseppt课件_第4页
多分支判断语句switch-caseppt课件_第5页
已阅读5页,还剩103页未读 继续免费阅读

下载本文档

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

文档简介

1、n多分支判断语句switch-case作用:多分支判断选择。n 一般表达形式:switch选择判断量case 选择判断值1 选择判断语句1case 选择判断值2 选择判断语句2otherwise 判断执行语句endn留意:当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断。1例如:利用switch_case语句编写判断季节的函数文件。function demo_switch_case(month) switch month case 3,4,5 season=spring case 6,7,8 season=summer case 9,10,11 s

2、eason=autumn otherwise season=winter end将该函数文件以demo_switch_case.m为文件名保存后,在命令窗口输入“demo_switch_case(1)”,可调用该函数文件,返回结果为:season = winter。2n人机交互命令n作用:在执行 MATLAB 主程序文件时,在适当的地方对程序的运行进行观察或干预。n重要性:在调试程序的时候,人机交互命令更是不可缺少。nMATLAB 语言提供的基本人机交互命令有 :echo、input、pause 和 keyboard 四种。3n echo 命令作用:使M文件的命令在执行时可见,有利于程序的调试

3、和演示。n 4n input命令input 命令用来提示用户从键盘输入数据、字符串或表达式,并接收输入值。5。n keyboard命令 keyboard命令与input命令的作用相似。当程序遇到此命令时,MATLAB就将暂时停止运行程序,处于等待键盘输入状态且在屏幕上显示字符 K。键盘处理完毕后,输入字符串return,程序将继续执行。在M文件中使用该命令,对于程序的调试和在程序运行中修改变量都很方便。6n程序调试与诊断n MATLAB程序出错时的基本处理方法 语法格式错误n 如缺“(”或“)”等,在运行时可检测出大多数该类错误,并指出错在哪一行。n 算法逻辑错误n 这样的错误非常隐蔽,往往是

4、对算法考虑不周全,程序可以顺利通过,显示的结果也是正常的数值,但是与先验的预期不符合。7留意:在包含函数调用的 MATLAB 程序运行时,当发生运行错误时,不会显示出错信息,又无法检测各个局部变量。应采用调试技术来查找问题。8n MATLAB的代码编辑调试器MATLAB的代码编辑调试器是一个综合了代码编写与调试的集成开发环境。MATLAB代码调试过程主要是通过调试器菜单Debug下的各子项进行的。调试选项及其功能见表1-3。9表1-3 调试选项及其功能选 项图 标功 能快捷键Open M-files when Debbuging选择该选项则在调试打开 M 文件无Step下一步F10Step I

5、n进入被调用函数内部F11Step Out跳出当前函数Shift+F11Continue执行,直至下一断点F5Go until Cursor执行至当前光标处无Set/Clear Breakpoint设置或删除断点F12Set/Modify Conditional Breakpoint设置或修改条件断点无Enable/Disable Breakpoint开启或关闭光标行的断点无Clear Breakpoints in All Files删除所有文件中的断点无Stop if Errors/Warings遇到错误或者警告时停止无1011Set/Modify Conditional Breakpoin

6、t:该选项用于设置或修改条件断点。条件断点为一种特殊的断点,当满足指定的条件时则程序执行至此时停止,否则程序继续进行。其设置界面如图1-12所示,在输入框中输入断点条件则将当前行设置为条件断点。此时设置的断点处显示为黄色。例子:tiyidianba1213l本章小结l简要介绍了控制系统仿真的基本概念及仿真工具MATLAB的语言特点;(1.1)l详细讲述了在系统仿真过程中可能用到的MATLAB基本功能,从数值计算功能入手,介绍了MATLAB中的数组、矩阵、绘图、函数、M文件及编程控制等基础知识。l希望通过本章的学习能够掌握MATLAB的基本用法,为后续利用MATLAB进行仿真打下基础。14n15

7、121212sincoscossinsin()/2/2i tAedt1621kkkaaa121aa176. syms tao omiga t A;int(A*exp(-i*omiga*t),t,-tao/2,tao/2)8. x=-1:0.01:1; y=x; X,Y=meshgrid(x,y);F=(X.2+Y.2).4-(X.2-Y.2).2;mesh(X,Y,F); xlabel(x);ylabel(y);title(f的图像)9. tica(1)=12;sum(1)=a(1);for i=2:100 a(i)=i2; sum(i)=sum(i-1)+a(i);endsum_100=su

8、m(100)toc10. a(1)=1;a(2)=1;for i=3:50 a(i)=a(i-1)+a(i-2); if a(i)10000 element=a(i) order=i break end end控制系统仿真与CAD第2章 控制系统的数学描述河南工业大学 电气工程学院闫晶晶系统的数学模型l系统数学模型的重要性l 系统仿真分析必须已知数学模型l 系统设计必须已知数学模型l 数学模型是本课程的基础l系统数学模型的获取l 建模方法:从已知的物理规律出发,用数学l推导的方法建立起系统的数学模型l 辨识方法:由实验数据拟合系统的数学模型 19第2章 控制系统的数学描述2.1 控制系统数学模

9、型与控制工具箱函数2.1.1 传递函数模型2.1.2 状态空间模型2.2 控制系统模型的转换及连接2.2.1 模型转换函数2.2.2 模型连接与化简2.3 控制系统建模工程实例202.1.1 传递函数模型主要内容:介绍一下如何把经典控制里最常用的传递函数模型输入给计算机。线性系统通常是以线性常微分方程来描述: 1201211210111( )( )( )( )( )( )( )( )( )nnnnnnnnmmmmmmd y tdy tdy tdy taaaaa y tdtdtdtdtd u tdu tdu tbbbb u tdtdtdt2122传递函数的理论基础传递函数的理论基础 Laplac

10、e变换变换Pierre-Simon Laplace(1749-1827),法国数学家Laplace变换,t域s域定义:0 ( )( )( )stL f tf t edtF sLaplace变换的一条重要性质:假设(1)(0)(0)(0).0nyyyy( ) ( )( )nnnnd y tLs L y ts Y sdt l传递函数模型l传递函数即放大倍数G(s)=Y(s)/U(s)l在零初始条件下,线性常微分方程经Laplace变换后,即为线性系统的传递函数模型: l对线性定常系统,式中s的系数均为常数,且不等于零,这时系统在MATLAB中可以方便地由分子(numerator)和分母(denom

11、inator)系数构成的向量组唯一地确定出来。 10111011( )( )( )mmmmnnnnb sb sbsbY sG sU sa sa sasa10111011( )( )( )mmmmnnnnb sb sbsbY snumG sU sa sa sasaden23n在MATLAB中,传递函数的分子、分母分别用num和den表示,表达方式为:num=b0,b1,b(m-1),bmden=a0,a1,a(n-1),an其中:它们都是按s的降幂进行排列的,缺项补零。如果ai,bi都为常数,这样的系统又称为线性时不变系统Linear Time-invariant systems ,简称LTI)

12、;系统的分母多项式称为系统的特征多项式。对物理可实现系统来说,一定要满足mn。n对于离散时间系统,其单输入单输出系统的LTI系统差分方程为: 011011()(1)(1)( )()(1)(1)( )nnmma y kna y knay ka y kb r kmbr kmbr kb r k24n对应的脉冲传递函数为:n用不同向量分别表示分子和分母多项式,就可以利用控制系统工具箱的函数表示传递函数变量G:num=b0,b1,b(m-1),bmden=a0,a1,a(n-1),ann在MATLAB中,不论是连续还是离散时间系统,都用函数命令tf( )来建立控制系统的传递函数模型,还可以将零极点模型或

13、者状态空间模型转换为传递函数模型。101101( )( )( )mmmnnnb zb zbY zG zR za za za25表表2-1 tf( )函数的具体用法见下表函数的具体用法见下表函数用法函数功能说明sys = tf(num,den) 返回变量sys为连续系统传递函数模型 sys = tf(num,den,ts)返回变量sys为离散系统传递函数模型。ts为采样周期,当ts-1或者ts 时,表示系统采样周期未定义 s = tf(s) 定义Laplace变换算子 (Laplace variable),以原形式输入传递函数 z =tf(z,ts) 定义z变换算子及采样时间ts,以原形式输入传

14、递函数 get(sys) 可获得传递函数模型对象sys的所有信息 set(sys,Property,Value,.) 为系统不同属性设定值 num,den=tfdata (sys,v) 以行向量的形式返回传递函数分子分母多项式 c = conv(a, b) 多项式a,b以系数行向量表示,进行相乘。结果c仍以系数行向量表示 26例2-1 将已知系统的传递函数模型 输入到MATLAB工作空间中。解:方法一:在MATLAB命令窗口中输入:num=1 1; %分子多项式向量den=1 3 2 0; %分母多项式向量G=tf(num,den) %系统传递函数模型执行后结果如下:Transfer func

15、tion: s + 1-s3 + 3 s2 + 2 s321( )32sG ssss27 方法二:在MATLAB命令窗口中输入:s=tf( s ) %定义Laplace算子符号变量G=(s+1)/( s3 + 3 *s2 + 2*s) %直接给出系统传递函数表达式执行后结果如下:Transfer function: s + 1-s3 + 3 s2 + 2 s28 例2-2 已知传递函数模型 ,将其输入到MATLAB工作空间中。解:方法一:在MATLAB命令窗口中输入:num=conv(10,2 1); %分子向量多项式den=conv(1 0 0,1 7 13); %分母向量多项式G=tf(n

16、um,den) %系统传递函数模型执行后结果如下:Transfer function: 20 s + 10-s4 + 7 s3 + 13 s22210(21)( )(713)sG ssss29 方法二:在MATLAB命令窗口中输入:s=tf(s); %定义Laplace算子符号变量G=10*(2*s+1)/(s2* (s2+7*s+13) %直接给出系统传递函数表达式执行后结果如下:Transfer function: 20 s + 10-s4 + 7 s3 + 13 s230例2-3 RLC电路如图2-1所示,试建立以电容上电压Uc(t)为输出变量,输入电压Ur(t)为输入变量的运动方程;如

17、果R=1.6,L=1.0H,C=0.40F时,建立其传递函数模型。解:第一步:建立系统的微分方程。设回路电流为i(t),根据基尔霍夫电压定律、电流定律得到系统的回路方程为: (2-6) (2-7)将2-7代入2-6),消去中间变量i(t),得到描述RLC网络输入输出关系的微分方程为: ( )( )( )( )rcdi tu tRi tLu tdt( )( )cdu ti tcdt22( )( )( )( )cccrd u tdu tLCRCu tu tdtdt31第二步:根据微分方程写出传递函数。在零初始条件下,对上述方程中各项求拉氏变换,并令 , ,可得s的代数方程为: 由传递函数定义,得系

18、统传递函数为: 将R=1.6,L=1.0H,C=0.40F代入2-10得: ( )( )CcUsL u t( )( )rrUsL u t2(1)( )( )crLCsRCsUsUs2( )1( )( )1CrUsG sUsLCsRCs22125( )(1.0 0.4)(1.6 0.4)1101625G sssss3233例2-4 某一以微分方程描述系统的传递函数,其微分方程描述如下:试使用MATLAB建立其模型。解:首先求取系统传递函数。在零初始条件下,对微分方程两边取Laplace变换,可得系统传递函数:然后建立系统模型,MATLAB程序如下:num=1 0 6; %分子多项式系数行向量de

19、n=1 6 11 6; %分母多项式系数行向量G=tf(num,den) %建立传递函数模型程序运行结果如下:Transfer function: s2 + 6-s3 + 6 s2 + 11 s + 6322322( )( )( )( )6116 ( )6 ( )dy tdy tdy tdu ty tu tdtdtdtdt232( )6( )( )6116Y ssG sU ssss34例2-5 已知传递函数的分子为(s+1),分母项为(s3+4s2 +2s+6),时滞是2,试建立系统的传递函数模型。解:方法一,由于系统有时滞项,除了设置分子项num和分母项den外,还要在tf( )函数中设置输

20、入传输延时iodelay的属性,其值赋给变量dt,程序如下: num=1 1; den=1 4 2 6; dt=2; G=tf(num,den,iodelay,dt) 程序运行结果为: Transfer function: s + 1 exp(-2*s) * - s3 + 4 s2 + 2 s + 635 方法二,也可以采用Laplace算子的符号变量直接建立传递函数模型,程序为:s=tf(s);G=(s+1)/(s3+4*s2+2*s+6);set(G,iodelay,2);G程序运行后结果与方法一相同。36l零极点增益模型本质:零极点增益模型实际上是传递函数模型的另一种表现形式。l 原理:

21、分别对原系统传递函数的分子、分母进行因式分解处理,获得系统的零点和极点的表示形式。l 其中:K为系统增益,zii=1,2,m为零点,pjj=1,2,n为极点。l 注:对系数为实数的传递函数模型来说,系统的零极点或者为实数,或者以共轭复数的形式出现。1212()().()( )()().()mnszszszG sKspspsp37离散系统的传递函数也可表示为零极点增益模式: 在MATLAB中零极点增益模型用z,p,k矢量组表示。即:z=z1,z2,zmp=p1,p2,.,pnk=K调用zpk( )函数就可以输入这个零极点增益模型,还可以将传递函数模型或者状态空间模型转换为零极点增益模型,具体用法

22、如表2-2所示。1212()().()( )()().()mnzzzzzzG zKzpzpzp3839例2-6 双T网络如图2-2所示,试求以Uc为输出,Ur为输入的传递函数和零极点增益模型。其中R1=40,R2=80,C1=100F,C2=50F。解:首先,根据基尔霍夫电压定律、电流定律建立各元件的微分方程。方程如下: (2-14)111112112222( )( )( )1( )( ( )( )( )( )( )1( )( )rccu tu ti tRu ti ti t dtCu tu ti tRu ti t dtC401111211122221( )( )( )1 ( )( )( )1(

23、 )( )( )1( )( )rccu su sI sRI sIsu ssCu su sIsRIsu ssC21122112212( )1( )( )()1rcU sG sU sRC R C sRCR CRC s41将R1=40,R2=80,C1=100F,C2=50F代入上式,可得系统的传递函数为:最后,编写MATLAB程序。程序如下:num=1;den=16 10 1;G=tf(num,den)G1=zpk(G)运行后,获得系统的传递函数和零极点增益模型,结果为:Transfer function: 1-16 s2 + 10 s + 1Zero/pole/gain: 0.0625-(s+0

24、.5) (s+0.125)2( )1( )( )16101rcUsG sUsss42例2-7 已知系统的传递函数为 , 将零极点增益模型输入MATLAB工作空间。解:在MATLAB的命令窗口输入:z1=-5;-5; %零点向量p1=-1;-2;-2-2*j;-2+2*j; %极点向量k=4; %增益向量G1=zpk(z1,p1,k) %得到系统零极点增益模型则执行后得到如下结果:Zero/pole/gain: 4 (s+5)2-(s+1) (s+2) (s2+ 4s + 8)232728( )41242ssG ssss43例2-8 已知系统的传递函数为: ,求系统 的零极点向量和增益值,并绘制

25、系统零极点分布图。解:在MATLAB的命令窗口输入:s=zpk( s ); %定义算子G=4*(s+5)/(s+1)/(s+2)/(s+6) %直接得到系统模型z,p,k=zpkdata(G, v ) %得到系统零极点向量和增益值pzmap(G) %绘制系统零极点分布图则执行后得到的系统传递函数及零极点向量和增益值:Zero/pole/gain: 4 (s+5)-(s+1) (s+2) (s+6)z = -5p = -1 -2 -6k = 4 系统的零极点分布图4(5)( )(1)(2)(6)sG ssss44l部分分式模型优点:方便应用Laplace反变换求系统的输出响应。函数:r,p,k=

26、residue(b,a)可以求出传递函数的部分分式之和形式。传递函数的部分分式之和形式为:l注:使用函数r,p,k=residue(b,a)时,余数返回到向量r,极点返回到列向量p,常数项返回到k。l 另外,函数b,a=residue(r,p,k)也可以将部分分式转化为多项式比p(s)/q(s)。1( )( )()niiirG sKh ssp45例2-9 已知系统的传递函数为 ,求取系统的部分分式模型。解:在MATLAB命令窗口中输入:num=2,0,9,1; den=1,1,4,4; r,p,k=residue(num,den)则执行后得到如下结果:r = 0.0000 - 0.2500i

27、0.0000 + 0.2500i -2.0000 p = -0.0000 + 2.0000i -0.0000 - 2.0000i -1.0000 k = 2根据MATLAB程序运行结果,可写出系统的部分分式模型:332291( )44ssG ssss0.250.252( )3221iiG ssisis46形状:系统中存在着若干个动态信息,称为状态。状态向量:在表征系统动态信息的所有变量中,能够完全描述系统运行的最少数目的一组独立变量不惟一称为系统的状态向量。n维状态空间:以n维状态变量为基所构成的空间称为n维状态空间。状态空间模型:由状态向量所表征的模型便是状态空间模型。47任何系统都可以用状

28、态空间表达式来进行数学描述,状态空间表达式又称为动态方程),由状态方程与输出方程组成,揭示了系统内部状态对系统性能的影响。具有n个状态、m个输入和p个输出的线性时不变系统,状态空间模型即状态空间表达式为: 离散系统的状态空间模型为:xAxBuyCxDu(1)( )( )( )( )( )x kAx kBu ky kCx kDu k48 函数ss( )可用来建立控制系统的状态空间模型,连续和离散系统的状态空间模型建立有所区别,具体用法如表2-3 另外,要得到状态空间模型,还可以从传递函数模型或者零极点模型转换过来。函数用法函数功能说明sys = ss(A,B,C,D) 由A,B,C,D矩阵直接得

29、到连续系统状态空间模型 sys = ss(A,B,C,D,Ts) 由A,B,C,D矩阵和采样时间Ts直接得到离散系统状态空间模型 A,B,C,D = ssdata(sys) 得到连续系统参数 A,B,C,D,Ts = ssdata(sys) 得到离散系统参数 49 例2-10 RLC无源网络如图2-1所示,ur(t)为输入,uc(t)为输出,若选择i(t), uc(t)为状态变量,试建立系统的状态空间模型,并用MATLAB实现。解:第一步:求取系统的状态空间模型。由图2-1可列系统微分方程: ( )11( )( )( )LLcditRitutu tdtLLL ( )1( )cLdutitdtC

30、( )( )ccu tu t 5051( )11( )( )( )1( )00( )( )01( )LLccLccditRitdtLLu tLutdutCdtitutut( )( )Lci txu txAx buycx( )cyu t11,01100RLLAbcLC。1612.50A10b 01c 16112.5000 1xAx buxuycxx 52第二步:MATLAB实现。在MATLAB命令窗口中输入:A=-16 -1;25 0; %给状态矩阵A赋值B=1;0; %给输入矩阵B赋值C=0 1; %给输出矩阵C赋值D=0; %给前馈矩阵D赋值G=ss(A,B,C,D) %输入并显示系统状态空

31、间模型执行后得到如下结果:a = b= x1 x2 u1 x1 -16 -1 x1 1 x2 25 0 x2 0 c = d= x1 x2 u1 y1 0 1 y1 0Continuous-time model.536541( )100( )0( )0100 x tx tu t ( )067( )y tx t 5455 例2-12 将如下一个两输入两输出系统的状态空间模型输入到MATLAB工作空间中,并求其系统参数。 , 解:首先,在MATLAB命令窗口中输入以下程序,将状态空间模型输入到MATLAB工作空间:A=1 6 9 10; 3 12 6 8; 4 7 9 11; 5 12 13 14

32、;B=4 6; 2 4; 2 2; 1 0; C=0 0 2 1; 8 0 2 2; D=zeros(2,2); %D为一个22的零方阵Gss=ss(A,B,C,D) %得到系统状态空间模型16910463 12682447911225 12 13 1410 xxu00218022yx 56程序执行后结果如下:a = x1 x2 x3 x4 x1 1 6 9 10 x2 3 12 6 8 x3 4 7 9 11 x4 5 12 13 14 b = u1 u2 x1 4 6 x2 2 4 x3 2 2 x4 1 0 c = x1 x2 x3 x4 y1 0 0 2 1 y2 8 0 2 2d =

33、 u1 u2 y1 0 0 y2 0 0 Continuous-time model.57然后在MATLAB命令窗口输入以下语句,可获取系统模型参数 A,B,C,D=ssdata(Gss) 执行后结果如下:A = 1 6 9 10 3 12 6 8 4 7 9 11 5 12 13 14B = 4 6 2 4 2 2 1 0C = 0 0 2 1 8 0 2 2D = 0 0 0 058592.2 控制系统模型的转换及连接控制系统模型的转换及连接2.2.1 模型转换函数模型转换函数控制系统的模型表示:传递函数模型、零极点模型和状态空间模型,这三种模型之间也可以进行相互转换。模型转换的函数:ss

34、2tf、ss2zp、tf2ss、tf2zp、zp2ss、zp2tf。它们的关系可用图2-4所示的结构来表示,60表2-4 数学模型转换函数及其功能函数名函数功能说明ss2tf将系统状态空间模型转换为传递函数模型ss2zp将系统状态空间模型转换为零极点增益模型tf2ss将系统传递函数模型转换为状态空间模型tf2zp将系统传递函数模型转换为零极点增益模型zp2ss将系统零极点增益模型转换为状态空间模型zp2tf将零极点增益模型转换为传递函数模型residue传递函数模型与部分分式模型互换61例2-13 已知系统传递函数为 ,试求其零极点增益模型及状态空间模型。 解:在MATLAB命令窗口中输入:n

35、um=9;den=conv(1 3,1 4 4);Gtf=tf(num,den);Gzpk=zpk(Gtf)Gss=ss(Gtf)29( )(44)(3)G ssss62执行后结果如下:Transfer function: 9-s3 + 7 s2 + 16 s + 12Zero/pole/gain: 9-(s+3) (s+2)2a = x1 x2 x3 x1 -7 -4 -1.5 x2 4 0 0 x3 0 2 0b = u1 x1 1 x2 0 x3 0c = x1 x2 x3 y1 0 0 1.125d = u1 y1 0Continuous-time model.63例2-14 已知某系

36、统的零极点增益模型为: 求其传递函数模型及状态空间模型。 解:在MATLAB命令窗口中输入:z=-1;-2; %零点向量p=-3 -5; %极点向量k=3; %增益Gzpk=zpk(z,p,k) %零极点模型a,b,c,d=zp2ss(z,p,k) %将零极点模型转换为状态空间模型num,den=zp2tf(z,p,k) %由零极点模型得到传递函数的分子和分母向量3(1)(2)( )(3)(5)ssG sss64执行后结果如下:Zero/pole/gain:3 (s+1) (s+2)- (s+3) (s+5)a = -8.0000 -3.8730 3.8730 0b = 1 0c = -15.

37、0000 -10.0698d = 3num = 3 9 6den = 1 8 1565例2-15 将双输入单输出的系统模型转换为多项式传递函数模型。解:在MATLAB命令窗口中输入:a=0 1;-3 -2;b=1 0;0 1;c=1 0;d=0 0;num,den=ss2tf(a,b,c,d,1)num2,den2=ss2tf(a,b,c,d,2)Gss=ss(a,b,c,d);Gtf=tf(Gss)0110( )( )( )320110( )00( )x tx tu tyx tu t66执行后得到如下结果:num = 0 1.0000 2.0000den = 1.0000 2.0000 3.

38、0000num2 = 0 0 1.0000den2 = 1.0000 2.0000 3.0000Transfer function from input 1 to output: s + 2-s2 + 2 s + 3Transfer function from input 2 to output: 1-s2 + 2 s + 367例2-16 造纸工业中的一加压液流箱系统。该系统的状态变量是箱中的液位h(t)与料浆的总压头H(t),输入变量是料浆流入量u1(t)与空气流入量u2(t),输出变量是状态变量H(t)与h(t)的和。系统状态空间模型为:试求系统的状态空间模型、传递函数模型及零极点增益模

39、型。解:由系统的状态空间模型,编写如下MATLAB程序:a=-0.5620 0.05114;-0.254 0;b=0.03247 1.145;0.112541 0;c=1 1;d=0 0;G=ss(a,b,c,d),G1=tf(G), G2=zpk(G)1212( )0.56200.05114( )0.032471.145( )( )0.2540( )0.1125410( )( )( )( )1 100( )( )u tH tH tu th th tu tH ty tu th t68运行后结果如下:a = x1 x2 x1 -0.562 0.05114 x2 -0.254 0 b = u1 u

40、2 x1 0.03247 1.145 x2 0.1125 0 c = x1 x2 y1 1 1 d = u1 u2 y1 0 0 Continuous-time model.69Transfer function from input 1 to output: % 系统从u1到y的传递函数模型 0.145 s + 0.06076-s2 + 0.562 s + 0.01299Transfer function from input 2 to output: % 系统从u2到y的传递函数模型 1.145 s - 0.2908-s2 + 0.562 s + 0.01299Zero/pole/gain

41、 from input 1 to output: % 系统从u1到y的零极点增益模型 0.14501 (s+0.419)-(s+0.5378) (s+0.02415)Zero/pole/gain from input 2 to output: % 系统从u2到y的零极点增益模型 1.145 (s-0.254)-(s+0.5378) (s+0.02415)70模型间的基本连接方式主要有:串联连接:series() 并联连接:parallel()反馈连接:feedback()2.2.2 模型连接与化简模型连接与化简71 若控制系统由几个环节串联而成,即环节按照信号传递的方向串联在一起如图2-5所示

42、),并且各环节之间没有负载效应和返回影响,则系统可以等效为一个环节,其等效传递函数为各环节传递函数的乘积,即 在MATLAB中,series( )函数可完成等效传递函数的求取。12( )( )( )( )( )C sG sGs GsR sl 串联连接结构串联连接结构72例2-17 已知两个系统的传递函数 和 ,求其G1(s)和G2(s)进行串联后的系统模型 解:MATLAB程序为:num1=10;den1=20 1 0;num2=1 1;den2=1 6 1;num,den=series(num1,den1,num2,den2);printsys(num,den) %将系统模型写成“num/d

43、en格式程序运行结果为:num/den = 10 s + 10 - 20 s4 + 121 s3 + 26 s2 + s1210( )20G sss221( )61sG sss73l 模型并联若组成控制系统的环节具有相同的输入信号,且各环节输出信号的代数和作为系统的输出,则这几个环节的连接方式为并联,如图2-6所示,此时系统可等效为一个环节,其等效传递函数为各环节传递函数的和,即 注:在MATLAB中,parallel( )函数可完成等效传递函数的求取。12( )( )( )( )( )C sG sG sG sR s74例2-18 已知两个系统的传递函数 和 ,求G1(s)和G2(s)进行并联

44、后的系统模型解:MATLAB的程序为:num1=10;den1=20 1 0;num2=1 1;den2=1 6 1;num,den=parallel(num1,den1,num2,den2);printsys(num,den)程序运行结果为:num/den = 20 s3 + 31 s2 + 61 s + 10 - 20 s4 + 121 s3 + 26 s2 + s1210( )20G sss221( )61sG sss75l 反馈连接自动控制系统中,若两个环节具有图2-7所示的结构形式,则称为反馈联接。对于(a)所示的正反馈系统,其等效传递函数为: 对于(b)所示的负反馈系统,其等效传递

45、函数为: 注:在MATLAB中,feedback( )函数可计算闭环传递函数。 ( )( )1( )( )G ssG s H s( )( )1( )( )G ssG s H s76例2-19 已知系统 和 ,求G1(s)和G2(s)分别进行串联、并联和反馈连接后的系统模型。 解:由系统的传递函数模型,编写MATLAB程序(程序1):num1=1 1; den1=1 4 26; G1=tf(num1,den1);num2=1; den2=1 6;G2=tf(num2,den2);Gs=series(G1,G2) , %求取G1(s)和G2(s)串联的等效传递函数Gp=parallel(G1,G2

46、), %求取G1(s)和G2(s) 并联的等效传递函数Gf=feedback(G1,G2) %求取负反馈的等效传递函数,前向通道传递函数为G1(s),反馈通道传递函数为G2(s)121( )426sG sss21( )6G ss77程序1执行后结果如下:Transfer function: %串联等效传递函数为Gs=G1(s)*G2(s) s + 1-s3 + 10 s2 + 50 s + 156 Transfer function: %并联的等效传递函数为Gp=G1(s)+G2(s) 2 s2 + 11 s + 32-s3 + 10 s2 + 50 s + 156 Transfer func

47、tion: %反馈的等效传递函数为Gf =G1/(1+G1*G2) s2 + 7 s + 6-s3 + 10 s2 + 51 s + 15778本例还可以用如下程序程序2完成:num1=1 1; den1=1 4 26; G1=tf(num1,den1);num2=1; den2=1 6;G2=tf(num2,den2);Gs=G2*G1, Gp=G1+G2, Gf=G1/(1+G1*G2)程序2执行后结果为:Transfer function: % Gs s + 1-s3 + 10 s2 + 50 s + 156 Transfer function: % Gp 2 s2 + 11 s + 3

48、2-s3 + 10 s2 + 50 s + 156 Transfer function: % Gf s4 + 11 s3 + 60 s2 + 206 s + 156-s5 + 14 s4 + 117 s3 + 621 s2 + 1954 s + 408279 留意:程序2执行后结果的Gf与程序1的Gf表达式不同,这是因为程序2的Gf分子分母存在公约项,这里可用函数Gf=minreal(Gf)来获得系统的最小实现模型。阐明:对于反馈连接,虽然运算式与feedback( )函数等效,但得到的系统阶次可能高于实际系统阶次,需通过minreal( )函数进一步求其最小实现。严格意义上的传递函数定义为经

49、过零极点对消之后的输入-输出关系,当分子分母有公因式时,必须消除。minreal( )函数,即最小实现是一种模型的实现,它消除了模型中过多的或不必要的状态。对传递函数或零极点增益模型,这等价于将可彼此对消的零极点对进行对消。80例2-20 给定一个多回路控制系统的结构方框图如图2-8所示,试求系统的传递函数。解:方法一:在MATLAB命令窗口中输入:G1=tf(1,1 1);G2=tf(1,3 4 1);Gp=G1+G2;G3=tf(1,1 0);Gs=series(G3,Gp);Gc=Gs/(1+Gs);Gc1=minreal(Gc)执行结果为:Transfer function: s +

50、0.6667-s3 + 1.333 s2 + 1.333 s + 0.6667 81方法二:新建一个空的M文件,将上述程序写在Editor窗口中,完成后单击Run图标或选择Debug菜单栏中Run运行,翻开“Workspace窗口中相应的变量,可看到运行结果,例如:打开变量Gc,可看到:Transfer function: 9 s6 + 36 s5 + 56 s4 + 42 s3 + 15 s2 + 2 s-9 s8 + 42 s7 + 88 s6 + 112 s5 + 95 s4 + 52 s3 + 16 s2 + 2 s打开变量Gc1,可看到:Transfer function: s +

51、0.6667-s3 + 1.333 s2 + 1.333 s + 0.666782例2-21: 组合机床动力滑台铣平面时的情况如图2-9(a)所示,试分析并求该系统的微分方程和传递函数。 (a)动力滑台 (b)动力滑台力学模型 图2-9 例2-21中组合机床动力滑台及其力学模8384解:第一步:建立系统的微分方程并求取系统传递函数。任何一个机械振动系统一般都是由若干具有不同弹性和质量的元件组成。在研究机械振动时,需要将实际的振动系统抽象为力学模型,这是一种简化过程。牛顿定律、虎克定律等物理定律是建立机械系统数学模型的基础。根据牛顿第二定律知: 可得 将输出变量项写在等号的左边,将输入变量项写在

52、等号的右边,并将各阶导数项按降幂排列,得上式就是组合机床动力滑台铣平面时的机械系统的数学模型,即动力微分方程。Fma22d( )d( )( )( )ddooioy ty tf tcky tmtt22d( )d( )( )( )ddoooiy ty tmcky tf ttt85第二步:根据微分方程写出传递函数。在零初始条件下,对2-28中各项求拉氏变换,并令 , , 可得s的代数方程为:由传递函数定义,得系统传递函数为: 若组合机床动力滑台中物体质量m1kg,弹簧的虎克系数为常数k=20N/m,粘性阻尼系数也为常数c=5N/m/s;则系统的传递函数为: 2( )1( )( )oiY sG sF

53、smscsk2( )1( )( )520oiY sG sF sss86( )( )iiF sL f t( )( )ooY sL y t2()( )( )oimscsk Y sF s第三步:将系统模型输入到MATLAB工作空间中。程序如下:clearclcs=tf(s) ; %定义Laplace算子符号变量G=1/(s2 + 5 *s + 20) %直接给出系统传递函数表达式程序运行结果为:Transfer function: 1-s2 + 5 s + 2087例2-22 如图2-10 所示为电枢控制直流电动机原理图,图中Ra、La分别是电枢电路的电阻和漏磁电感,Mc是折合到电动机轴上的总负载转

54、矩,激磁磁通为常值,若电动机各参数分别为Ra2.0,La0.5H,Cm=0.1,Ce=0.1,fm=0.2Nms,Jm=0.02kg.m2,分别以电动机电枢电压Ua(t) 和负载力矩Md(t)为输入变量,以电动机的转动速度m(t)为输出变量,在MATLAB中建立电动机的数学模型。88解: 第一步:分析系统,绘制系统结构图。电枢控制直流电动机的工作实质是将输入的电能转换为机械能,也就是由输入的电枢电压Ua(t)在电枢回路中产生电枢电流ia(t),再由电流ia(t)与激磁磁通相互作用产生电磁转矩Mm(t),从而拖动负载运动。因此,根据直流电动机的工作原理及基尔霍夫定律,直流电动机的运动方程可由电枢

55、回路电压平衡方程、电磁转矩方程和电动机轴上的转矩平衡方程三部分组成,分别如下所示。 89(1电枢回路电压平衡方程: Ea 是电枢反电势,它是当电枢旋转时产生的反电势,其大小与激磁磁通及转速成正比,方向与电枢电压Ua(t)相反,即其中:Ce反电势系数。(2电磁转矩方程: 其中:Cm是电动机转矩系数 ,Me(t)是由电枢电流产生的电磁转矩。( )( )( )aaaa aadi tUtLR i tEdt( )( )aemE tCt( )( )em aM tC i t90(3电动机轴上的转矩平衡方程: 式中:Jm转动惯量电动机和负载折合到电动机轴上的),fm电动机和负载折合到电动机轴上的粘性摩擦系数。

56、 ( )( )( )( )mmmmeldtJftM tM tdt2( )( )()()( )( )( )( )mmamamamammemlmaaaldtdtL JL fR JR fC CtdtdtdM tC U tLR M tdt91在工程应用中,由于电枢电路电感La较小,通常忽略不计,因此2-36可简化为: 其中,Tm为电动机机电时间常数, ; 如果电枢电阻Ra和电动机的转动惯量Jm都很小而忽略不计时2-37还可进一步简化为: (2-38)由于电动机的转速与电枢电压成正比,于是电动机可作为测速发电机使用。12( )( )( )( )mmmaldtTtKUtK M tdtammammeR JT

57、R fC C1mammeCKR fC C2;aammeRKR fC C。( )( )emaCtUt92图2-11 例2-22的电枢控制直流电动机结构图93第二步:根据系统系统结构图,求取系统传递函数。若选取电动机各参数分别为Ra2.0,La0.5H,Cm=0.1,Ce=0.1,fm=0.2Nms,Jm=0.02kg.m2,分别以电动机电枢电压Ua(t) 和负载力矩Md(t)为输入变量,以电动机的转动速度m(t)为输出变量,在MATLAB中建立电动机的数学模型。在MATLAB命令窗口中输入:Ra=2;La=0.5;Cm=0.1;Ce=0.1;fm=0.2;Jm=0.02;G1=tf(Cm,La

58、Ra);G2=tf(1,Jm fm);dcm=ss(G2)*G1,1; %前向通路数学模型dcm=feedback(dcm,Ce,1,1); %闭环系统数学模型dcm1=tf(dcm);94程序运行结果如下:Transfer function from input 1 to output: 10-s2 + 14 s + 41 Transfer function from input 2 to output: 50 s + 200-s2 + 14 s + 41即电动机的传递函数分别为:952( )1( )1441asUsss2( )50200( )1441CssMsss可见,直流电动机的传递函数

59、为二阶系统数学模型形式。同时,由上述得到的传递函数,可以得到电枢电压ua(t)作用下的单位阶跃响应。在MATLAB命令窗口下输入:step(dcm(1);运行后得到阶跃响应曲线,如图2-12所示。96例2-23 采用PI调节器的晶闸管-直流电机单闭环调速系统简称V-M系统原理示意图如图2-13所示,试建立该系统的传递函数,其系统参数如下:直流电动机:Pe=10kW, Ue=220v, Ie=55A, ne=1000r/min,电枢电阻Ra=0.5,V-M电路总电阻R=1,电动机电势系数Ce =0.1925,电磁时间常数Ta=0.017s,机电时间常数Tm=0.075s,转速反馈系数Kt=0.01178v/rpm,晶闸管触发整流装置放大系数Kg=44,其平均失控时间Tg=0.00167s,PI调节器参数T1=0.049s,T2=0.088s。 97解:通过分析系统工作原理可知,控制系统由给定电位器RP1、PI调节器、功率放大器、测速发电机以及被控对象直流电动机等组成,控制系统的输入量是usn,输出量是转速n。现分别列写各元部件的微分方程。第一步:分析系统,建立系统各环节的微分方程。(1比例积分调节器(简称PI调节器) 输入输出关系为:将2-39取拉氏变换,得PI调节器的传送函数为 式中,为积分时间常数。10011csnsnRUUU dtRR C12( )1( )csnUsT

温馨提示

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

评论

0/150

提交评论