用MATLAB画零极点图
用MATLAB将传递函数化为零极点增益模型并绘制零极点图 将传递函数化为零极点增益模型并绘制零极点图 >> num=[3 2 8]; >> den=[1 3 8 4 2]; >> G=tf(num,den) Transfer function: 3 s^2 + 2 s + 8 ----------------------------- s^4 + 3 s^3 + 8 s^2 + 4 s + 2 >> G1=zpk(G); >> z=G1.z; >> p=G1.p; >> Z=z{:}; >> P=p{:}; >> k=G1.k; >> pzmap(G); >> pzmap(G1); >> grid on 将传递函数化为零极点增益模型并绘制零极点图 Transfer function: 3 s^2 + 2 s + 8 ----------------------------- s^4 + 3 s^3 + 8 s^2 + 4 s + 2 将上式化为零极点增益模型,并绘制零极点图。 >> num=[3 2 8]; >> den=[1 3 8 4 2]; >> G=tf(num,den) >> G1=zpk(G);%化为零极点增益形式 >> z=G1.z;%将G1零点存入z >> p=G1.p; %将G1极点点存入p >> k=G1.k;%将G1增益存入k 化传递函数为零极点形式 >> num=[1 2 1]; >> den=[1 5 3 8 9]; >> [z,p,k]=tf2zp(num,den)%化传递函数为零极点增益形式 化零极点增益形式为传递函数 系统的串、并联的传递函数 2 s^2 + 6 s + 5 G1= --------------------- s^3 + 4 s^2 + 5 s + 2 s^2 + 7 s + 12 G2= -------------- s^2 + 3 s + 2 分别求G1、G2串、并联后的传递函数。 用零阶保持器将连续系统离散化 * 求传递函数。命令后无“;”则屏幕立即显示,否则不显示。 Transfer function: 3 s^2 + 2 s + 8 ----------------------------- s^4 + 3 s^3 + 8 s^2 + 4 s + 2 >> Z=z{:} Z = -0.3333 + 1.5986i -0.3333 - 1.5986i >> P=p{:} P = -1.2496 + 2.2082i -1.2496 - 2.2082i -0.2504 + 0.4980i -0.2504 - 0.4980i 显示零点 显示极点 %下面语句也可获得零极点。 >> [z,p,k]=tf2zp(num,den) >> pzmap(G1);%绘制零极点图 >> grid on %打开绘图网络 鼠标指向某零点或极点会显示该方框。 极点、阻尼比ζ、超调量、固有频率wn. wn ζwn ζ 由斜边和实部求出。 超调量由ζ求出。 wn wn wn >> num=[1 2 1]; >> den=[1 5 3 8 9]; >> t=0.2; >> G2=tf(num,den,t) %有采样时间 t,则显示为脉冲传递函数,自变量为 z Transfer function: z^2 + 2 z + 1 ----------------------------- ,Sampling time: 0.2 z^4 + 5 z^3 + 3 z^2 + 8 z + 9 Transfer function: z^2 + 2 z + 1 ----------------------------- z^4 + 5 z^3 + 3 z^2 + 8 z + 9 Sampling time: 0.2 >> G22=zpk(G2) %求离散系统G2零极点 Zero/pole/gain: (z+1)^2 ---------------------------------------- (z+4.635) (z+1) (z^2 - 0.6347z + 1.942) Sampling time: 0.2 >> num=[1 2 1]; >> den=[1 5 3 8 9]; >> t=0.2; >> G1=tf(num,den) %没