资源描述:
《《控制系统建模》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章控制系统建模利用控制工具箱来建模,其中包括传递函数建模,状态方程建模,零极点建模以及模型的联接和转换。自动控制理论提供了各种分析和设计方法:如时域响应法,根轨迹法、频域响应法,能方便地进行运算并能以图形的形式表达出来,常规的手工计算只能粗略计算,绘制近似图形,适合一般的工程应用。MATLAB的控制系统工具箱含有丰富的专门用于线性系统分析和设计的函数,提供可靠、准确的运算工具,使得分析和设计更切合实际。线性时不变系统的模型形式有:传递函数模型(系统的外部模型)零极点增益模型框图模型部分分式模型状态方程模型(系统的内部模型)这些模型之间都有着内在的联系,可以相互
2、进行转换。关心的重点如何利用MATLAB进行系统分析中的计算工作如:多项式运算传递函数零点和极点的计算闭环传递函数的计算框图模型的化简运算等。1.传递函数模型由于传递函数具有多项式之比的形式分子和分母多项式在MATLAB中分别给定系统在MATLAB中可以方便地由分子(numerator)和分母(denominator)系数构成的两个向量唯一地确定出来。分别用num和den表示。num=[b1,b2,…,bm,bm+1]den=[a1,a2,…,an,an+1]注意:按s的降幂排列,缺项补零。Sys=tf(num,den)%sys为变量名。求零极点分布[p,z]=p
3、zmap(num,den)绘制零极点分布图:pzmap(num,den)零点(zero)用O表示;极点(pole)用X表示例1:已知传递函数计算G(s)的零极点H(s)的特征方程绘制GH(s)的零-极点图G(s)numg=[601];deng=[1331];z=roots(numg);p=roots(deng);>>pp=-1.0000-1.0000+0.0000i-1.0000-0.0000i>>zz=0+0.4082i0-0.4082iH(s)>>n1=[11];n2=[12];d1=[12*i];d2=[1-2*i];d3=[13];>>numh=conv(
4、n1,n2);denh=conv(d1,conv(d2,d3));>>printsys(numh,denh)num/den=s^2+3s+2---------------------------s^3+3s^2+4s+12>>tf(numh,denh)Transferfunction:s^2+3s+2-----------------------------s^3+3s^2+4s+12GH(s)>>num=conv(numg,numh);den=conv(deng,denh);>>printsys(num,den)num/den=6s^4+18s^3+13s^2+
5、3s+2--------------------------------------------------------------------s^6+6s^5+16s^4+34s^3+51s^2+40s+12p=-3.0000-0.0000+2.0000i-0.0000-2.0000i-1.0000-1.0000+0.0000i-1.0000-0.0000iz=-2.0000-1.00000.0000+0.4082i0.0000-0.4082i>>pzmap(num,den)>>[p,z]=pzmap(num,den)2.零极点增益模型零极点模型实际上是传递函数
6、模型的另一种表现形式,其原理是分别对原系统传递函数的分子、分母进行因式分解处理,以获得系统的零点和极点的表示形式。K为系统增益,zi为零点,pj为极点在MATLAB中零极点增益模型用[z,p,k]矢量组表示。即:z=[z1,z2,…,zm]p=[p1,p2,...,pn]k=[K]函数tf2zp():传递函数模型零极点增益模型函数zp2tf():零极点增益模型传递函数模型例子:num=[1,11,30,0];den=[1,9,45,87,50];[z,p,k]=tf2zp(num,den)z=0-6.0000-5.0000p=-3.0000+4.0000i-3
7、.0000-4.0000i-2.0000-1.0000k=1例子:z=[-3];p=[-1,-2,-5];k=6;[num,den]=zp2tf(z,p,k)>>tf(num,den)Transferfunction:6s+18-----------------------s^3+8s^2+17s+10num=00618den=1817103.框图模型我们分别以传递函数的形式建立了各部件的模型,目的是将它们有机地组合成完整的控制系统。MATLAB可用来完成框图模型的化简变换串联联接的框图series()函数把两个传递函数串联起来G1(s)G2(s)[num,den
8、]=ser