📄 fig3_5a.m
字号:
% Figure 3.5a
%
% BM Mar 98
clear
clf
colordef(1,'black')
zz = [ 3*j -3*j ];
numz = max(size(zz));
pp = [ -0.3+2*j -0.3-2*j ];
nump = max(size(pp));
rz = real(zz);
iz = imag(zz);
rp = real(pp);
ip = imag(pp);
[num,den] = zp2tf(zz',pp',1);
wmax = 6;
w = 0:0.1:wmax;
iimax = max(size(w));
h = freqs(num,den,w);
hmag = abs(h);
hang = unwrap(angle(h))/pi*180;
subplot(1,2,1)
l1 = line('Xdata',rz,'Ydata',iz,'Marker','o','Color','y');
axis( [ -1 0 -wmax wmax ] )
xlabel('real')
ylabel('imag')
grid
hold on
l2 = line('Xdata',rp,'Ydata',ip,'LineStyle','x','Color','y');
l3 = line('Xdata',[0],'Ydata',[0],'Marker','o','Color','w','EraseMode', 'xor');
l7 = line('Xdata',[-1 0 ],'Ydata',[0 0],'LineStyle',':','Color','r','EraseMode', 'xor');
for ii = 1:numz
lz(ii) = line('Xdata', [rz(ii) 0],'Ydata',[iz(ii) 0],'Color','b','LineStyle','-','EraseMode','none');
end
for ii = 1:nump
lp(ii) = line('Xdata', [rp(ii) 0],'Ydata',[ip(ii) 0],'Color','g','LineStyle','-','EraseMode','xor');
end
subplot(1,2,2)
l4 = line('Xdata',w(1),'Ydata',hmag(1),'Marker','o','Color','w','EraseMode', 'xor');
xlabel('\omega (rad/s)')
ylabel('gain')
axis([ 0 wmax 0 max(hmag) ])
hold on
l5 = line('Xdata',[w(1) w(1)],'Ydata',[hmag(1) hmag(1)],'LineStyle','-','Color','y','EraseMode', 'none');
l6 = line('Xdata',[w(1) w(1)],'Ydata',[hmag(1) 0],'LineStyle',':','Color','r','EraseMode', 'xor');
fprintf(1,'Figure 3.5(a): press return to continue\n')
pause
for ii=1:iimax
for jj = 1:numz
set(lz(jj),'Xdata', [rz(jj) 0],'Ydata',[iz(jj) w(ii)])
end
for jj = 1:nump
set(lp(jj),'Xdata', [rp(jj) 0],'Ydata',[ip(jj) w(ii)])
end
set(l3,'Xdata',[0],'Ydata',w(ii))
set(l7,'Xdata',[-1 0 ],'Ydata',[w(ii) w(ii)])
set(l4,'Xdata',w(ii),'Ydata',hmag(ii))
if ii > 1
set(l5,'Xdata',[w(ii-1) w(ii)],'Ydata',[hmag(ii-1) hmag(ii)])
end
set(l6,'Xdata',[w(ii) w(ii)],'Ydata',[hmag(ii) 0])
pause(1)
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -