控制系统传递函数的MATLAB表示一、传递函数的两种形式1.有理分式形式分别将分子、分母中s多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。上述函数可表示为num1=[21]%(注意:方括号,同一行的各元素间留空格或逗号)。den1=[1221]syss1=tf(num1,den1)运行后,返回传递函数)(1sG的形式。这种形式不能直接进行符号运算!2.零极点增益形式[Z,P,K]=tf2zp(num1,den1)sys2=zpk(Z,P,K)返回零、极点、增益表达式,其Z,P分别将零点和极点表示成列向量,若无零点或极点用[](空矩阵)代替。运行得到)(1sG的零点Z=-0.5极点P=-1,-0.5±j0.866增益K=2指令zp2tf(Z,P,K)将零极点增益变换成有理分式形式,见程序fanli005。参考程序fanli005:传递函数的有理分式及零极点增益模型num1=[21]%传递函数的分子系数向量den1=[1221]%传递函数的分母系数向量sys1=tf(num1,den1)%传递函数的有理分式模型[Z,P,K]=tf2zp(num1,den1)%有理分式模型转换成零极点增益模型[num2,den2]=zp2tf(Z,P,K)%零极点增益模型转换成有理分式模型sys2=zpk(Z,P,K)%传递函数的零极点增益模型[A1,B1,C1,D1]=tf2ss(num1,den1)%有理分式模型转换成状态空间模型[A2,B2,C2,D2]=zp2ss(Z,P,K)%零极点及增益模型转换成状态空间模型[num1,den1]=ss2tf(A1,B1,C1,D1)%状态空间模型转换成有理分式模型[Z,P,K]=ss2zp(A2,B2,C2,D2)%状态空间模型转换成零极点增益模型程序中,命令tf2ss,zp2ss及ss2tf,ss2zp是状态空间模型与有理分式及零、极点、增益模型之间的相互转换。二、传递函数框图的处理用框图可以方便地表示传递函数的并联,串联及反馈。为简洁,仅以有理分式模型为例。1.并联sysp=parallel(sys1,sys2)[num,den]=parallel(num1,den1,num2,den2)2.串联syss=series(sys1,sys2)[nums,dens]=series(num1,den1,num2,den2)3.反馈sysc=feedback(syss,sys3,±1)%默认值(-1)[numc,denc]=feedback(nums,dens,num3,den3)4.单位反馈G1G1G1+G2G1(s)G2(s)G1(s)·G2(s)G1(s)G2(s)G1(s)G2(s)1+G1(s)G2(s)G3(s)G3(s)sysd=feedback(syss,1)[numd,dend]=feedback(nums,dens,1,1)%(单位反馈)上面给出了同一指令的两种形式,相当于两套平行指令。对于零极点增益形式,书写稍复杂一些,可先用zpk转换成系统形式,或用zp2tf转折换成有理分式形式后再进行框图化简操作。G1(s)G2(s)G1(s)G2(s)1+G1(s)G2(s)