📄 fig516.m
字号:
% Generates Fig 5.16% Computer Controlled Systems (3rd ed)% Author: B. Wittenmark% Last edit: 1997-07-02% Copyright (c) 1996 by K. J. 舠tr鰉, B. Wittenmark and% Department of Automatic Control, Lund Institute of% Technology, Lund, Swedennewplot;clf;lw=0.9;set(gcf,'PaperUnits','centimeters','PaperPosition',[2 2 13 9.5])set(gcf,'Units','centimeters','position',get(gcf,'PaperPosition'))a=2;z=0.707;h=0.2;w=0.2;%wh=w*h;z1=sqrt(1-z*z);a1m=-2*exp(-z*wh)*cos(z1*wh);a2m=exp(-2*z*wh);ams=1+a1m+a2m;ae=exp(-a*h);a1o=-2*ae;a2o=ae*ae;aos=1+a1o+a2o;amp=2+a1m;aop=2+a1o;p1=ams*aos;pp=amp*aos+ams*aop;p2p=2*(ams+amp*aop+aos);h2=h*h;s0=(p1/4-pp/2+p2p/2)/h2;s1=(-p1+2*pp-p2p)/h2;s2p=(7*p1/4-3*pp/2+p2p/2);s2=s2p/h2;r=s2p/2-a2m*a2o;r1=r-1;r2=-r;t0=ams/h2;t1=t0*a1o;t2=t0*a2o;apol=[1 -2 1];bpol=h*h/2*[1 1];rpol=[1 r1 r2];spol=[s0 s1 s2];alg=conv(apol,rpol);blg=conv(bpol,spol);wrad1=logspace(-3,pi,100)/h;[mag1,ph1,wrad1]=dbode(blg,alg,h,wrad1);h=1;wh=w*h;z1=sqrt(1-z*z);a1m=-2*exp(-z*wh)*cos(z1*wh);a2m=exp(-2*z*wh);ams=1+a1m+a2m;ae=exp(-a*h);a1o=-2*ae;a2o=ae*ae;aos=1+a1o+a2o;amp=2+a1m;aop=2+a1o;p1=ams*aos;pp=amp*aos+ams*aop;p2p=2*(ams+amp*aop+aos);h2=h*h;s0=(p1/4-pp/2+p2p/2)/h2;s1=(-p1+2*pp-p2p)/h2;s2p=(7*p1/4-3*pp/2+p2p/2);s2=s2p/h2;r=s2p/2-a2m*a2o;r1=r-1;r2=-r;t0=ams/h2;t1=t0*a1o;t2=t0*a2o;apol=[1 -2 1];bpol=h*h/2*[1 1];rpol=[1 r1 r2];spol=[s0 s1 s2];alg=conv(apol,rpol);blg=conv(bpol,spol);wrad2=logspace(-3,pi,100)/h;[mag2,ph2,wrad2]=dbode(blg,alg,h,wrad2);subplot(2,1,1)loglog(wrad1,mag1,'m--',wrad2(1:98),mag2(1:98),'k-','Linew',lw)axis([0.01 100 0.01 10000])hold onplot([0.01 100],[1 1],'k:','Linew',lw)set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'ytick',[0.01 1 100 10000]);set(gca,'xtick',[0.1 1 10]);ylabel('Gain','Fontname','NewCenturySchlbk','Fontsize',9)subplot(2,1,2)semilogx(wrad1,ph1,'m--',wrad2,ph2,'k-','Linew',lw)axis([0.01 100 -300 -100]);hold onplot([0.01 100],[-180 -180],'k:','Linew',lw)set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0.1 1 10]);set(gca,'ytick',[-300 -200 -100]);xlabel('Frequency, rad/s','Fontname','NewCenturySchlbk','Fontsize',9)ylabel('Phase','Fontname','NewCenturySchlbk','Fontsize',9)ylblalgn
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -