您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 实验一-控制系统数学模型
电子信息工程13031实验一控制系统数学模型一、实验目的1、掌握控制系统数学模型——传递函数的求取方法;2、利用MATLAB命令求取控制系统传递函数。二、基础知识及MATLAB函数在MATLAB命令窗口上,以命令的方式建立系统的传递函数。在MATLAB下,系统的数学模型有3种描述方式,此实验用多项式模型。(1)多项式模型:线性定常系统的数学模型传递函数G(s)一般可以表示成:mnasasasabsbsbsbsRsCsGnnnnmmmm,......)()()(01110111其中分子分母多项式中的an与bm均为常系数。MATLAB语言描述:构造分子多项式:num=[bm,bm-1,…,b1,b0];或num=[bmbm-1…b1b0]构造分母多项式:den=[an,an-1,…,a1,a0];或den=[anan-1…a1a0]构造并显示传递函数:printsys(num,den);其中num与den是习惯用法,也可用其它变量名代替,但在显示时会出现num/den,这是通用输出显示格式,与输入变量名称无关。例1-1:num=[1124448];den=[11686176105];printsys(num,den)显示:num/den=s^3+12s^2+44s+48-----------------------------------s^4+16s^3+86s^2+176s+105例1-2:系统开环传递函数为)106)(2()1(5)(22ssssssG写出多项式模型。n=conv([5],[11]);d=conv([100],conv([12],[1610]));printsys(n,d)显示:num/den=5s+5-----------------------------s^5+8s^4+22s^3+20s^2(2)模型的连接电子信息工程13032函数[num]=cloop()用于计算单位反馈时闭环传递函数多项式模型的参数向量,右变量为开环参数,左变量返回系统的闭环参数,反馈极性1为正反馈,-1为负反馈。例1-3:系统开环传递函数为)3()1(5)(2ssssG写出单位负反馈时闭环传递函数的多项式模型。numo=conv([5],[11]);deno=conv([100],[13]);[numc,denc]=cloop(numo,deno,-1);printsys(numc,denc)显示:num/den=5s+5---------------------s^3+3s^2+5s+5函数[]=feedback()用于计算一般反馈系统的闭环传递函数。其格式为:[num,den]=feedback(num1,den1,num2,den2,sign)前向传递函数G(s)为num1/den1,反馈传递函数H(s)为num2/den2,右变量为G(s)与H(s)的参数,左变量返回系统的闭环参数,反馈极性sign取1为正反馈,取-1为负反馈,缺省时作负反馈计算。例4:系统结构图如图所示:+-写出闭环传递函数。num1=[10];den1=[110];num2=[0.21];den2=[0.011];[num,den]=feedback(num1,den1,num2,den2,-1);printsys(num,den)显示:num/den=0.1s+10------------------------------0.01s^3+1.01s^2+3s+10串联连接用函数series,格式:[num,den]=series(num1,den1,num2,den2)并联连接用函数parallel,格式:[num,den]=parallel(num1,den1,num2,den2)*系统模型其他形式描述及分析见教材71页。三、实验步骤与内容:1、开机执行MATLAB程序,进入MATLAB命令窗口:“Commandwindow”。2、建立简单的系统模型:101.012.0ss)1(10ssR(s)C(s)电子信息工程13033R(s)用MATLAB语言求取传递函数,要求熟练应用以下指令:printsys(num,den);feedback;cloop;series;parallel;conv;tf;zpk;zp2tf;tf2zp;cloop和feedback都是反馈命令,cloop只能用于单位反馈(即H(S)=1)的情况。编写指令在命令窗口中显示如下传递函数,利用指令进行传递函数模型的转换。(1)3242521()3sssGssss;(2))162)(2()3)(1()(2sssssssG;(3)四、实验报告1.根据内容要求,写出调试好的MATLAB语言程序,及对应的结果。(1)3242521()3sssGssss1MATLAB语言程序如下:clc,clearnum1=[53211];den1=[10113];[z,p,k]=tf2zp(num1,den1);sys1_1_tf=tf(num1,den1),printsys(num1,den1),prisys1_1_zpk=zpk(z,p,k)2程序运行结果如下:sys1_1_tf=5s^4+3s^3+2s^2+s+1-----------------------------s^4+s^2+s+3Continuous-timetransferfunction.num/den=5s^4+3s^3+2s^2+s+1------------------------------s^4+s^2+s+3—1312ss11sC(s)21s电子信息工程13034prisys1_1_zpk=5(s^2+1.067s+0.4949)(s^2-0.4675s+0.4041)--------------------------------------------------(s^2+1.588s+1.446)(s^2-1.588s+2.075)Continuous-timezero/pole/gainmodel.所以324222225(1.0670.4949)(0.46750.4041)(1.5881.446)(1521()=.5882.075)3sssGssssssssssss(2))162)(2()3)(1()(2sssssssG1MATLAB语言程序如下:clc,clearnum2=conv([11],[13]);den2=conv([10],conv([12],[261]));[z,p,k]=tf2zp(num2,den2);sys1_2_tf=tf(num2,den2),printsys(num2,den2),sys1_2_zpk=zpk(z,p,k)2程序运行结果如下:sys1_2_tf=s^2+4s+3-------------------------------------2s^4+10s^3+13s^2+2sContinuous-timetransferfunction.num/den=s^2+4s+3------------------------------------2s^4+10s^3+13s^2+2ssys1_2_zpk=0.5(s+3)(s+1)------------------------------------s(s+2.823)(s+2)(s+0.1771)Continuous-timezero/pole/gainmodel.所以22432 0.5 3 1 2.823(1)(3)() 2 0.177143210132=(2)(261)=sssssssGssssssssssss电子信息工程13035R(s)(3)1MATLAB语言程序如下:clc,clearG1=tf([1],[11]);G2=tf([1],[12]);H1=tf([21],[31]);sys1_3_series=series(G1,G2);sys1_3=feedback(sys1_3_series,H1,-1)[num,den]=feedback([1],[132],[21],[31],-1);printsys(num,den)[z,p,k]=tf2zp(num,den);sys1_3_zpk=zpk(z,p,k)2程序运行结果如下:sys1_3=3s+1--------------------------------3s^3+10s^2+11s+3Continuous-timetransferfunction.num/den=3s+1--------------------------------3s^3+10s^2+11s+3sys1_3_zpk=(s+0.3333)--------------------------------------------(s+0.4018)(s^2+2.932s+2.489)Continuous-timezero/pole/gainmodel.所以322 0.33333 1310113(0.4018)(2.9322=.48)(9)ssssssssGs2.写出实验的心得与体会。在本次仿真实验中,我们初步掌握利用MATLAB命令求取控制系统传递函数,进一步加深理解了控制系统数学模型——传递函数的求取方法。—1312ss11sC(s)21s
本文标题:实验一-控制系统数学模型
链接地址:https://www.777doc.com/doc-5419169 .html