MATLAB学习记录-传递函数的建模2(零-极点形式的传递函数模型)-自动控制篇

2.零-极点形式的传递函数模型

传递函数的零-极点形式一般为
G ( s ) = K ( s − z 1 ) ∙ ( s − z 2 ) ∙    . . .    ∙ ( s − z m ) ( s − p 1 ) ∙ ( s − p 2 ) ∙    . . .    ∙ ( s − p n ) G(s)=K\frac{(s-z_1)\bullet(s-z_2)\bullet\ \ ...\ \ \bullet(s-z_m)}{(s-p_1)\bullet(s-p_2)\bullet\ \ ...\ \ \bullet(s-p_n)} G(s)=K(sp1)(sp2)  ...  (spn)(sz1)(sz2)  ...  (szm)
在MATLAB中,以以下形式表示:

>>Gain=K;
%将零极点形式传递函数的增益值K赋给变量Gain
>>Z=[z1;z2;...;zm];
%将所有零点以列向量形式赋给Z
>>P=[p1;p2;...;pn];
%将所有极点以列向量形式赋给P

在建立零-极点传递函数模型时,需要用到的MATLAB函数:

zpk函数:用于建立零-极点形式的数学模型

>>y1=zpk[Z,P,Gain];
%其中Z为系统的零点列向量,P为极点列向量,Gain为零极点形式传递函数的增益

tf函数:用于把零-极点形式的传递函数转换为多项式形式

>>y2=tf(y1);
%其中y1为零极点形式的传递函数

zp2tf函数:用于求传递函数多项式形式模型的分子、分母系数

>>[n,d]=zp2tf(Z,P,Gain);
%其中Z为系统的零点列向量,P为极点列向量,Gain为零极点形式传递函数的增益

例题1:
用MATLAB建立系统传递函数的零-极点形式和多项式形式模型
G ( s ) = ( s − 2 ) ∙ ( s − 3 ) ( s − 1 ) ∙ ( s − 4 ) ∙   ( s − 7 ) G(s)=\frac{(s-2)\bullet(s-3)}{(s-1)\bullet(s-4)\bullet\ (s-7)} G(s)=(s1)(s4) (s7)(s2)(s3)

%%%%%%以下为实现%%%%%%
>> Gain=1;
>> Z=[2;3];
>> P=[1;4;7];
>> g=zpk(Z,P,Gain)
%执行该语句后建立了系统的零-极点形式模型

g =
 
     (s-2) (s-3)
  -----------------
  (s-1) (s-4) (s-7)
 
Continuous-time zero/pole/gain model.

>> g=tf(g)
%执行该命令后得到了多项式形式传递函数模型

g =
 
       s^2 - 5 s + 6
  ------------------------
  s^3 - 12 s^2 + 39 s - 28
 
Continuous-time transfer function.

>> [num,den]=zp2tf(Z,P,Gain)
%执行该命令后得到了多项式传递函数的分子、分母系数

num =
%分母系数
     0     1    -5     6


den =
%分子系数
     1   -12    39   -28

练习:
用MATLAB传递函数的零-极点形式和多项式形式模型
G ( s ) = 4 ∙ ( s + 1 ) ∙ ( s − 4 ) ( s − 2 ) ∙ ( s − 3 ) ∙   ( s − 6 ) G(s)=\frac{4\bullet(s+1)\bullet(s-4)}{(s-2)\bullet(s-3)\bullet\ (s-6)} G(s)=(s2)(s3) (s6)4(s+1)(s4)

>> Gain=4;
>> Z=[-1;4];
>> P=[2;3;6];
>> g=zpk(Z,P,Gain)

g =
 
    4 (s+1) (s-4)
  -----------------
  (s-2) (s-3) (s-6)
 
Continuous-time zero/pole/gain model.

>> g=tf(g)

g =
 
     4 s^2 - 12 s - 16
  ------------------------
  s^3 - 11 s^2 + 36 s - 36
 
Continuous-time transfer function.

>> [num,den]=zp2tf(Z,P,Gain)

num =

     0     4   -12   -16


den =

     1   -11    36   -36

注意:
1.传递函数中零极点的符号
2.Z,P均为列向量,故输入命令时,应以“;”作为分隔符

你可能感兴趣的:(传递函数,自动控制,零极点,matlab,数学建模)