📄 fig3_3.m
字号:
% Figure 3.3
%
% BM Mar 98
clf
colordef(1,'black')
clear
% frequency response
p1 = -1 + 3j;
num = 1;
den = [ 1 -p1 ];
wmax = 2*imag(p1);
w = 0:wmax/40:wmax;
iimax = max(size(w));
h = freqs(num,den,w);
gmax =max(abs(h));
hh = abs(h);
ang = unwrap(angle(h))/pi*180;
angmax = max(ang);
angmin = min(ang);
subplot(1,3,2)
set(gca,'XDir','reverse')
xlabel('magnitude')
ylabel('\omega (rad/s)')
axis([ 0 gmax 0 wmax]);
hold on
xx = hh(1);
yy = w(1);
l1 = line('Xdata',xx,'Ydata',yy,'Color','w','Marker','o','EraseMode','xor');
l2 = line('Xdata',[xx xx],'Ydata',[yy yy],'Color','y','LineStyle','-','EraseMode','none');
l5 = line('Xdata',[gmax xx],'Ydata',[0 0 ],'Color','b','LineStyle',':','EraseMode','xor');
subplot(1,3,3)
set(gca,'XDir','reverse')
xlabel('phase (deg)')
ylabel('\omega (rad/s)')
axis([ angmin angmax 0 wmax]);
grid
hold on
xx = ang(1);
yy = w(1);
l6 = line('Xdata',xx,'Ydata',yy,'Color','w','Marker','o','EraseMode','xor');
l7 = line('Xdata',[xx xx],'Ydata',[yy yy],'Color','y','LineStyle','-','EraseMode','none');
l8 = line('Xdata',[angmax xx],'Ydata',[0 0 ],'Color','b','LineStyle',':','EraseMode','xor');
subplot(1,3,1)
xlabel('real')
ylabel('imag')
axis([ 2*real(p1) 0 0 wmax ])
hold on
plot([0 0],[0 wmax],'w')
plot([ 2*real(p1) 0], [ wmax wmax],'w')
l3 = line('Xdata',real(p1),'Ydata',imag(p1),'Color','w','Marker','x','EraseMode','none');
l4 = line('Xdata',[real(p1) 0],'Ydata',[imag(p1) 0],'Color','r','LineStyle','-','EraseMode','xor');
fprintf(1,'Figure 3.3: Single pole system - press return\n')
pause
for ii =1:iimax
set(l1,'Xdata',hh(ii),'Ydata',w(ii))
set(l6,'Xdata',ang(ii),'Ydata',w(ii))
if ii > 1
set(l2,'Xdata',[hh(ii-1) hh(ii) ],'Ydata',[w(ii-1) w(ii)])
set(l7,'Xdata',[ang(ii-1) ang(ii) ],'Ydata',[w(ii-1) w(ii)])
end
set(l4,'Xdata',[real(p1) 0],'Ydata',[imag(p1) w(ii)])
set(l5,'Xdata',[gmax hh(ii)],'Ydata', [ w(ii) w(ii) ])
set(l8,'Xdata',[angmax ang(ii)],'Ydata', [ w(ii) w(ii) ])
pause(1)
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -