您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 控制系统CAD第3章控制系统数学模型及其转换
1第三章控制系统数学模型及其转换3.1控制系统常用数学模型(线性时不变\LTI模型)传递函数模型零极点增益模型状态空间模型部分分式模型1.传递函数模型(transferfunctionmodel)连续系统传递函数为:nnnmmmasasabsbsbsG110110)(离散系统传递函数为:nnnmmmazazabzbzbzG110110)(MATLAB中可采用tf函数建立传递函数,其调用格式为:(设num=[b0,b1,…,bm]为分子多项式系数组成的向量,den=[a0,a1,…,am]为分母多项式系数组成的向量)①sys=tf(num,den)生成连续传递函数。②sys=tf(num,den,Ts)生成离散传递函数,Ts为采样时间。当Ts=[]或Ts=-1时,表示采样时刻未指定。③sys=tf(num,den,’Property1’,Value1,’Property2’,Value2,…,’PropertyN’,ValueN)生成具有LTI模型属性的连续传递函数。④sys=tf(num,den,Ts,’Property1’,Value1,’Property2’,Value2,…,’PropertyN’,ValueN)生成具有LTI模型属性的离散传递函数。⑤sys=tf(‘s’)用于生成s域的有理传递函数⑥sys=tf(‘z’,Ts)用于生成z域的有理传递函数,且采样周期为Ts⑦sys_tf=tf(sys)2将其它模型转换成传递函数的形式(s→s,z→z)例:给定SISO系统的传递函数为:132106126)(23423ssssssssG用MATLAB语句表示该传递函数。解:法1:num=[6,12,6,10];den=[1,2,3,1,1];sys=tf(num,den)结果为:Transferfunction:6s^3+12s^2+6s+10----------------------------------s^4+2s^3+3s^2+s+1法2:s=tf('s');sys=(6*s^3+12*s^2+6*s+10)/(s^4+2*s^3+3*s^2+s+1)结果仍为:Transferfunction:6s^3+12s^2+6s+10----------------------------------s^4+2s^3+3s^2+s+1也可采用printsys函数,如:num=[6,12,6,10];den=[1,2,3,1,1];printsys(num,den)%printsys(num,den,’s’)printsys(num,den,’z’),默认时为S域。结果为:num/den=6s^3+12s^2+6s+103----------------------------------s^4+2s^3+3s^2+s+1但printsys函数好像不能表示零极点增益模型和带有滞后的传函模型??】例:给定系统的输入为u,输出为y,传递函数为:sesssssG22322.15.05.23.1)(用MATLAB语句表示该传递函数。解:num=[1.3,0,2.5];den=[1,0.5,1.2,0];sys=tf(num,den,'inputdelay',2,'inputname','u','outputname','y')%sys=tf(num,den,'outputname','y','inputdelay',2,'inputname','u')也可以,即'outputname','inputdelay','inputname'谁在前谁在后没关系('outputname'可用'outputn'或'outputna'来表示,但一定得有name的大写字母n,'inputdelay','inputname'与其相似)。结果为:Transferfunctionfrominpututooutputy:1.3s^2+2.5exp(-2*s)*-----------------------------s^3+0.5s^2+1.2s当传递函数的分子、分母由若干个多项式的乘积表示时,应先采用多项式乘法运算函数conv函数求得分子、分母多项式的系数向量,该函数的调用格式为:c=conv(a,b)其中a,b分别为两个多项式系数构成的向量,c为a,b相乘后的多项式系数构成的向量。当相乘的多项式多于两个时,需采用函数的嵌套。4121881212266)66)(2(232232sssssssssssconv([1,2],[1,6,6])ans=181812ssssssssss5754)523)(1(234523conv([1,0],conv([1,1],[1,3,2,5]))ans=145750例:给定SISO系统的传递函数为:)523)(1()66)(2(4)(232sssssssssG用MATLAB语句表示该传递函数。解:num=4*conv([1,2],[1,6,6]);den=conv([1,0],conv([1,1],[1,3,2,5]));sys=tf(num,den)Transferfunction:4s^3+32s^2+72s+48-----------------------------------------s^5+4s^4+5s^3+7s^2+5scell矩阵,又称为细胞矩阵,是MATLAB的一种特殊数据类型,它里面的元素可以是任意类型的变量,而不必是统一的类型。用大括号{}表示。5A={1,[2,3,4,5];sym('a'),'hello'}cell矩阵A中的第i行、第j列的元素表示为A{i,j}(当然也可以用单下标法表示)。A={1,[2,3,4,5];sym('a'),'hello'};A{1,2}ans=2345A{3}ans=2345B=A{2,2}B=helloC=A{2,1}C=a将cell矩阵中的某个元素赋给变量a时,变量a的数据类型是由cell矩阵中该元素的内容决定的。例:MIMO系统的传递函数为:21651111)(2sssssssG用MATLAB语句表示该传递函数。解:num={1,[1,1];1,[1,1]};%num和den必须同为cell矩阵den={[1,1],1;[1,5,6],[1,2]};sys=tf(num,den)Transferfunctionfrominput1tooutput...16#1:------s+11#2:----------------s^2+5s+6Transferfunctionfrominput2tooutput...#1:s+1s+1#2:-------s+2例:SIMO系统的传递函数为:12535223)(233sssssssG用MATLAB语句表示该传递函数。解:num={[3,2];[1,0,2,5]};den={[3,5,2,1];[3,5,2,1]};sys=tf(num,den)Transferfunctionfrominputtooutput...3s+2#1:-----------------------------3s^3+5s^2+2s+1s^3+2s+5#2:-----------------------------3s^3+5s^2+2s+1例:若一采样周期为1s的离散传递函数为:7121212121)(22zzzzzzzzG用MATLAB语句表示该传递函数。解:num={[1,1],[1,0];1,2};den={[1,2,1],[1,0,2];[2,1],[1,1]};sys=tf(num,den,1)Transferfunctionfrominput1tooutput...z+1#1:----------------z^2+2z+11#2:----------2z+1Transferfunctionfrominput2tooutput...z#1:----------z^2+22#2:--------z+1Samplingtime:12.零极点增益模型(zero-pole-gainmodel)连续系统传递函数为:)())(()())(()(2121nmpspspszszszsksG离散系统传递函数为:)())(()())(()(2121nmpzpzpzzzzzzzkzGMATLAB中采用zpk函数来建立零极点增益模型,其调用格式为:(设z=[z1,z2,…,zm]为分子多项式零点向量,p=[p1,p2,…,pn]为分母多项式极点向量8)①sys=zpk(z,p,k)生成连续的零极点增益模型。②sys=zpk(z,p,k,Ts)生成离散的零极点增益模型,Ts为采样时间。当Ts=[]或Ts=-1时,表示采样时刻未指定。③sys=zpk(z,p,k,’Property1’,Value1,’Property2’,Value2,…,’PropertyN’,ValueN)生成具有LTI模型属性的连续零极点增益模型。④sys=zpk(z,p,k,Ts,’Property1’,Value1,’Property2’,Value2,…,’PropertyN’,ValueN)生成具有LTI模型属性的离散零极点增益模型。⑤sys=zpk(‘s’)用于生成s域的零极点增益模型⑥sys=zpk(‘z’,Ts)用于生成z域的零极点增益模型,且采样周期为Ts⑦sys_zpk=zpk(sys)将其它模型转换成零极点增益模型的形式(s→s,z→z)。例:用MATLAB语句表示传函)3)(2()1(sss解:z=-1;p=[-2,-3];k=1;sys=zpk(z,p,k)Zero/pole/gain:(s+1)--------------(s+2)(s+3)法2:s=zpk('s');sys=(s+1)/((s+2)*(s+3))9Zero/pole/gain:(s+1)--------------(s+2)(s+3)区别:zpk('s')和tf('s')若传函为)65(12ssss=zpk('s');sys=(s+1)/(s^2+5*s+6)Zero/pole/gain:(s+1)--------------(s+3)(s+2)而对于传函)3)(2()1(ssss=tf('s');sys=(s+1)/((s+2)*(s+3))Transferfunction:s+1----------------s^2+5s+6例:已知单输入双输出的零极点增益模型)5)(4)(3()2)(1(4)12(3)(sssssssG10用MATLAB语句表示传函。解:z={-12;[-1,-2]};p={[-3,-4,-5];[-3,-4,-5]};%z,p必须同为cell矩阵k=[3;4];%增益k只能是普通矩阵sys=zpk(z,p,k)Zero/pole/gainfrominputtooutput...3(s+12)#1:-----------------(s+3)(s+4)(s+5)4(s+1)(s+2)#2:-----------------(s+3)(s+4)(s+5)例:已知单输入双输出的零极点增益模型)5)(4)(3()2)(1(43)(ssssssG用MATLAB语句表示传函。解:z={[];[-1,-2]};p={[-3,-4,-5];[-3,-4,-5]};k=[3;4];sys=zpk(z,p,k)Zero/pole/gainfrominputtooutput...3#1:-----------------11(s+3)(s+4)(s+5)4(s+1)(s+2)#2:--
本文标题:控制系统CAD第3章控制系统数学模型及其转换
链接地址:https://www.777doc.com/doc-2378167 .html