例8_22
系统传递函数模型为
H(s)?s?1?0.5se 3(s?2)求出有理传递函数的频率响应,然后在同一张图上绘出以四阶pade近似表示的系统频率响应。 num=[1 1];
den=conv([1 2],conv([1,2],[1,2])); w=logspace(-1,2); t=0.5;
[m1,p1]=bode(num,den,w); p1=p1-t*w'*180/pi; [n2,d2]=pade(t,4); numt=conv(n2,num); dent=conv(den,d2);
[m2,p2]=bode(numt,dent,w); subplot(2,1,1);
semilogx(w,20*log10(m1),w,20*log10(m2),'r--'); subplot(2,1,2);
semilogx(w,p1,w,p2,'r--'); subplot(2,1,1); grid on;
title('Bode plot');
xlabel('Frequency (rad/sec)'); ylabel('Gain dB'); subplot(2,1,2); grid on;
xlabel('Frequency (rad/sec)');
ylabel('Phase deg'); Bode plot0-20Gain dB-40-60-80-100-110010010Frequency (rad/sec)1102Phase deg-1000-2000-3000-4000-11010010Frequency (rad/sec)1102 回目录
例8_23
离散二阶系统
H(z)?0.632
z2?1.368z?0.568求系统的离散Bode图 num=0.632;
den=[1 ,-1.368,0.568]; grid on;
dbode(num,den,0.1);
title('Discrete Bode Plot'); Discrete Bode PlotFrom: U(1)2010Phase (deg); Magnitude (dB)0-10-201000To: Y(1)-100-200-300-400110Frequency (rad/sec) 回目录
例8_24
开环系统
H(s)?50
(s?5)(s?2)绘制出系统的Nyquist曲线,并判别系统的稳定性,最后求出闭环系统的单位冲激响应。 k=50; z=[];
p=[-1,-5,2];
[num,den]=zp2tf(z,p,k); figure(1);
nyquist(num,den);
title('Nyquist Plot'); figure(2);
[num1,den1]=cloop(num,den); impulse(num1,den1);
title('Impulse Response');
Impulse ResponseFrom: U(1)1050-5AmplitudeTo: Y(1)-10-15-20-25-30-3500.511.522.5Time (sec.) 回目录
例8_25
开环系统
H(s)?50
(s?1)(s?5)(s?2)绘制出系统的Nyquist曲线,并判别系统的稳定性,最后求出闭环系统的单位冲激响应。 k=50; z=[];
p=[-1,-5,2];
[num,den]=zp2tf(z,p,k); figure(1);
nyquist(num,den);
title('Nyquist Plot'); figure(2);
[num1,den1]=cloop(num,den); impulse(num1,den1);
title('Impulse Response'); Impulse ResponseFrom: U(1)1050-5AmplitudeTo: Y(1)-10-15-20-25-30-3500.511.522.5Time (sec.) 回目录
例8_26
线性系统状态空间模型
?100??0?0???0??0?011??x???u????x?001??0?0? ??????62.5?213.8?204.2?54???1???y??1562187500x??绘制出系统的Bode图和Nyquist曲线,判断系统的稳定性,并绘制闭环系统的单位冲激响应进行验证。
a=[0,1,0,0;0,0,1,0;0,0,0,1;-62.5,-213.8,-204.2,-54]; b=[0,0,0,1]';
c=[1562,1875,0,0]; d=0;
w=logspace(-1,1); figure(1);
bode(a,b,c,d,1,w); title('Bode Plot'); figure(2);
nyquist(a,b,c,d,1,w); title('Nyquist plot'); [z,p,k]=ss2zp(a,b,c,d); p
figure(3);
[a1,b1,c1,d1]=cloop(a,b,c,d); impulse(a1,b1,c1,d1);
title('Impulse Response');
p =
-50.0011 -2.4969 -1.0027 -0.4992