📄 例6-10.m
字号:
clear,clf,N=input('输入放大器级数N=');
wn=1000;
dt=1e-4;
tf=0.01;
t=0:dt:tf;
y=zeros(N,length(t)); %输出初始化
for n=1:N
p0=-linspace(.95,1.05,n)*wn; %将H(s)的极点分散布置
ay=poly([p0,0]); %由Y(s)的极点求分母系数
by=prod(abs(p0)); %求Y(s)的分子系数
[r,p]=residue(by,ay); %求Y(s)的留数极点
for k=1:n+1 %把各部分分式对应的时域分量相加
y(n,:)=y(n,:)+r(k)*exp(p(k)*t);
end
figure(1),plot(t,y(n,:));grid on, hold on %绘制过渡过程曲线
%下面的这几条语句用来绘制波特图
bh=by;ah=poly(p0); %求H(s)的分子分母系数
w=logspace(2,4); %给出频率范围和分度
H=polyval(bh,j*w)./polyval(ah,j*w); %求H(s)在各频点的值H(jw)
aH=unwrap(angle(H))*180/pi; %求出以度为单位的连续相角
fH=20*log10(abs(H)); %求出以分贝为单位的振幅
figure(2),
subplot(2,1,1),semilogx(w,fH),ylabel('幅值(分贝)'),xlabel('角频率'),grid on,hold on %绘幅频图
subplot(2,1,2),semilogx(w,aH),ylabel('相位(度)'),xlabel('角频率'),grid on,hold on; %绘相频图
end,hold off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -