一:用MATLAB求传递函数的零点,极点以及增益K

当传递函数很复杂的时候,我们不可能手算,这个时候我们可以使用以下命令来求解:
The MATLAB command:

>> [z,p,K] = tf2zp(num,den)

其中字母的一些含义:

  • z代表zeros零点
  • p代表poles极点
  • K代表增益

Consider the system defined by:

为了获得零点,极点,增益,使用以下命令:

>> num = [4 16 12];
>> den = [1 12 44 48 0];
>> [z,p,K] = tf2zp(num,den)

得到:

z =-3-1
p =0-6.0000-4.0000-2.0000
K =4

如果已经给定零点,极点和增益,如下的MATLAB程序就会生成原来的numden数列:

>> z = [-3;-1];
>> p = [0;-6;-4;-2];
>> K = 4;
>> [num,den] = zp2tf(z,p,K)
num =0     0     4    16    12
den =1    12    44    48     0

还可以使用printsys命令显示出函数:

>> printsys(num,den,'s')num/den = 4 s^2 + 16 s + 12----------------------------s^4 + 12 s^3 + 44 s^2 + 48 s