您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 1_用MATLAB处理线性系统数学模型
湖南工学院教案——《计算机仿真技术实验》1实验二用MATLAB处理线性系统数学模型[说明]一个控制系统主要由被控对象、测量装置、控制器和执行器四大部分构成。MATLAB软件的应用对提高控制系统的分析、设计和应用水平起着十分重要的作用。采用MATLAB软件仿真的关键问题之一是在MATLAB软件平台上怎样正确表示被控对象的数学模型。[实验目的]1.了解MATLAB软件的基本特点和功能;2.掌握线性系统被控对象传递函数数学模型在MATLAB环境下的表示方法及转换;3.掌握多环节串联、并联、反馈连接时整体传递函数的求取方法;4.掌握在SIMULINK环境下系统结构图的形成方法及整体传递函数的求取方法;5.了解在MATLAB环境下求取系统的输出时域表达式的方法。[实验指导]一、被控对象模型的建立在线性系统理论中,一般常用的描述系统的数学模型形式有:(1)传递函数模型——有理多项式分式表达式(2)传递函数模型——零极点增益表达式(3)状态空间模型(系统的内部模型)这些模型之间都有着内在的联系,可以相互进行转换。1、传递函数模型——有理多项式分式表达式设系统的传递函数模型为01110111......)()()(asasasabsbsbsbsRsCsGnnnnmmmm对线性定常系统,式中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:已知系统的传递函数描述如下:22642202412)(23423sssssssG在MATLAB命令窗口(CommandWindow)键入以下程序:num=[12,24,0,20];den=[24622];sys=tf(num,den)回车后显示结果:Transferfunction:12s^3+24s^2+20---------------------------------------2s^4+4s^3+6s^2+2s+2并同时在MATLAB中建立了这个相应的有理多项式分式形式的传递函数模型。举例1-2:已知系统的传递函数描述如下:)523()1()66)(2(4)(23322sssssssssG其中,多项式相乘项,可借助多项式乘法函数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)回车后显示结果:Transferfunction:4s^5+56s^4+288s^3+672s^2+720s+288---------------------------------------------------------------------------s^7+6s^6+14s^5+21s^4+24s^3+17s^2+5s同时在MATLAB中建立了这个有理多项式分式形式的传递函数模型。湖南工学院教案——《计算机仿真技术实验》32.传递函数模型——零极点增益模型零极点增益模型为:12m12n(s-z)(s-z)...(s-z)G(s)=K(s-p)(s-p)...(s-p)其中:K为零极点增益,zi为零点,pj为极点。该模型在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()3(6)(sssssG在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.状态空间模型状态方程与输出方程的组合称为状态空间表达式,又称为动态方程,如下:DuCxyBuAxx则在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、G2串联,求等效的整体传递函数G32)(1ssG127)(22sssG解:①实现的程序:n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=G1*G2运行结果:Transferfunction:湖南工学院教案——《计算机仿真技术实验》514---------------------s^3+5s^2+7s+3②实现的程序:n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=series(G1,G2)运行结果:Transferfunction:14---------------------s^3+5s^2+7s+3③实现的程序:n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);[n,m]=series(n1,d1,n2,d2)运行结果:n=00014m=1573例1-5四环节G1、G2、G3、G4串联,求等效的整体传递函数G32321sGGG12722ssG解:实现的程序:n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=G1*G2*G1*G1运行结果:Transferfunction:56------------------------------------------s^5+11s^4+46s^3+90s^2+81s+272、并联两环节G1(s)与G2(s)并联,则等效的整体传递函数为G(s)=G1(s)+G2(s)在MATLAB中求取整体传递函数的功能,采用如下的语句或函数来实现。湖南工学院教案——《计算机仿真技术实验》6①G=G1+G2②G=parallel(G1,G2)③[num,den]=parallel(num1,den1,num2,den2)例1-6两环节G1、G2并联,求等效的整体传递函数G(s)32)(1ssG127)(22sssG解:①实现的程序:n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G1+G2运行结果:Transferfunction:2s^2+11s+23----------------------------s^3+5s^2+7s+3②实现的程序:n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=parallel(G1,G2)运行结果:Transferfunction:2s^2+11s+23---------------------------s^3+5s^2+7s+3③实现的程序:n1=2;d1=[13];n2=7;d2=[121];[n,d]=parallel(n1,d1,n2,d2)运行结果:n=021123d=1573若则G(s)=G1(s)-G2(s)相应的语句为G=G1-G2例1-7:程序如下n1=2;d1=[13];n2=7;d2=[121];G1=tf(n1,d1);G2=tf(n2,d2);G=G1-G2湖南工学院教案——《计算机仿真技术实验》7运行结果:Transferfunction:2s^2-3s-19------------------------------s^3+5s^2+7s+33.反馈: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分别为8121003)(21ssssG522)(2ssG解:①a:n1=[3100];d1=[1281];n2=2;d2=[25];G1=tf(n1,d1);G2=tf(n2,d2);G=feedback(G1,G2,-1)结果;Transferfunction:湖南工学院教案——《计算机仿真技术实验》86s^2+215s+500------------------------------------2s^3+9s^2+178s+605b:n1=[3100];d1=[1281];n2=2;d2=[25];G1=tf(n1,d1);G2=tf(n2,d2);G=feedback(G1,G2,1)结果:Transferfunction:6s^2+215s+500---------------------------2s^3+9s^2+166s+205②num1=[3100];den1=[1281];num2=2;den2=[25];[num,den]=feedback(num1,den1,num2,den2,-1)结果:num=06215500den=29178605举例1-9,已知求闭环传递函数。两环节G1、G2分别为8121003)(21ssssG1)(2sG解①n1=[3100];d1=[1281];G1=tf(n1,d1);G2=1;G=feedback(G1,G2,-1)结果:Transferfunction:3s+100---------------s^2+5s+181③n1=[3100];d1
本文标题:1_用MATLAB处理线性系统数学模型
链接地址:https://www.777doc.com/doc-3572654 .html