《控制系统传递函数的MATLAB表示.docx》由会员分享,可在线阅读,更多相关《控制系统传递函数的MATLAB表示.docx(3页珍藏版)》请在三一办公上搜索。
1、控制系统传递函数的MATLAB表示 控制系统传递函数的MATLAB表示 一、传递函数的两种形式 1有理分式形式 分别将分子、分母中s多项式的系数按降幂排列成行矢量,缺项的系数用0补齐。上述函数可表示为 num1=2 1%。 den1=1 2 2 1 syss1=tf(num1,den1) 运行后,返回传递函数G1(s)的形式。这种形式不能直接进行符号运算! 2零极点增益形式 Z,P,K = tf2zp(num1,den1) sys2 = zpk(Z,P,K) 返回零、极点、增益表达式,其Z,P分别将零点和极点表示成列向量,若无零点或极点用 代替。 运行得到G1(s)的 零点 Z= -0.5 极
2、点 P= -1,-0.5j0.866 增益 K = 2 指令zp2tf(Z,P,K)将零极点增益变换成有理分式形式,见程序fanli005。 参考程序fanli005:传递函数的有理分式及零极点增益模型 num1=2 1 % 传递函数的分子系数向量 den1=1 2 2 1 % 传递函数的分母系数向量 sys1=tf(num1,den1) % 传递函数的有理分式模型 Z,P,K=tf2zp(num1,den1) % 有理分式模型转换成零极点增益模型 num2,den2=zp2tf(Z,P,K) % 零极点增益模型转换成有理分式模型 sys2=zpk(Z,P,K) % 传递函数的零极点增益模型
3、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 并联
4、G1 G1+G2 G1 sysp = parallel(sys1,sys2) num,den=parallel(num1,den1,num2,den2) 2 串联 G1(s) G2(s) syss = series(sys1,sys2) nums,dens = series(num1,den1,num2,den2) G1(s)G2(s) 3 反馈 G1(s) G2(s) G3(s) sysc=feedback(syss,sys3,1) %默认值 numc, denc = feedback(nums, dens, num3, den3) G1(s)G2(s) 1+G1(s)G2(s) G3(s) 4 单位反馈 G1(s)G2(s) G1(s) G2(s) 1+G1(s)G2(s) sysd = feedback(syss, 1) numd, dend = feedback(nums, dens, 1, 1)%(单位反馈) 上面给出了同一指令的两种形式,相当于两套平行指令。 对于零极点增益形式,书写稍复杂一些,可先用zpk转换成系统形式,或用zp2tf转折换成有理分式形式后再进行框图化简操作。