- 1 - 传递函数 nnnmmmasasbsbsbsUsYsG11110)()()( >>nu m=[6 12 6 10];den=[1 2 3 1 1]; >>printsy s(nu m,den) 执行结果为 nu m/den= 12^33^24^1062^123^6sssssss 多项式相除函数deconv() [q,r]=deconv (c,b) q=? %商多项式 r=? %余多项式 求多项式的微分多项式polyder(a) MATLAB 提供的多项式乘法运算函数conv( ) c=conv (a,b) conv ( )函数的调用是允许多级嵌套的 例2-2 若给定系统的传递函数为 )523()1()66)(2(4)(2332sssssssssG 解 则可以将其用下列MATLAB 语句表示 >>nu m=4*conv ([1 2],[1 6 6]) >>den=conv ([1 0],conv ([1 1],conv ([1 1], conv ([1 1],[1 3 2 5])))) 零极点增益形式 )())(()())(()()()(212111nminijmjpspspszszszsKpszsKsG MATLAB 工具箱中的函数 poly ( ) 和roots( ) 可用来实现多项式和零极点间的转换,例如在命令窗口中进行如下操作可实现互相转换。 >>P=[1 3 5 2]; >>R=roots(P) R= -1.2267+1.4677i -1.2267-1.4677i -0.5466 >>P1=poly (R) P1= 1.0000 3.0000 5.0000 2.0000 状态空间表达式 - 2 - )()()()()()(tDutCxtytButAxtx 例2-5)(010001)()(311111)(4032/122/3100)(txtytutxtx >>A=[0 0 1;-3/2 -2 -1/2;-3 0 -4]; >>B=[1 1;-1 -1;-1 -3];C=[1 0 0;0 1 0]; >>D=zeros(2,2); 状态空间表达式到传递函数的转换 根据状态空间表达式求取系统传递函数的函数ss2tf( ), [num,den]=ss2tf(A,B,C,D,iu). 对于例2-5 中给出的多变量系统,可以由下面的命令分别对各个输入信号求取传递函数向量,然后求出这个传递函数阵。 解 利用下列 MATLAB 语句 >>[num1,den1]=ss2tf(A,B,C,D,1) num1= 0 1.0000 5.0000 6.0000 0 -1.0000 -5.0000 -6.0000 den1= 1 6 11 6 >>[num2,den2]=ss2tf(A,B,C,D,2) num2= 0 1.0000 3.0000 2.0000 0 -1.0000 -4.0000 -3.0000 den2= 1 6 11 6 则可得系统的传递函数阵 21113111)34()65(236561161)(222223ssssssssssssss...