📄 fig519.m
字号:
% Generates Fig 5.19% Computer Controlled Systems (3rd ed)% Author: B. Wittenmark% Last edit: 1997-07-04% Copyright (c) 1996 by K. J. 舠tr鰉, B. Wittenmark and% Department of Automatic Control, Lund Institute of% Technology, Lund, Swedennewplot;set(gcf,'PaperUnits','centimeters','PaperPosition',[2 2 13 10])set(gcf,'Units','centimeters','position',get(gcf,'PaperPosition'))hnoise=0.2;block518;lw=0.9;td=15;tn=30;l0=-0.5;h=0.2;omo=4;zeta=0.7;zetao=0.7;om=1.5;omp=1; %% Calculation of desired closed loop characteristic polynomial AmAo a=exp(-zeta*om*h); b=om*h*sqrt(1-zeta*zeta);re=a*cos(b); am1=-2*re; am2=a*a; ams=1+am1+am2; ao=exp(-zetao*omo*h);bo=omo*h*sqrt(1-zetao*zetao);reo=ao*cos(bo); ao1=-2*reo; ao2=ao*ao; aos=1+ao1+ao2; % Sampling the oscillator giving B/A be=cos(omp*h); % Solution of the polynomial identity AR+BS=P=AmAo p1=ao1+am1; p2=ao2+am2+am1*ao1; p3=am2*ao1+am1*ao2; p4=am2*ao2; pm1=1-p1+p2-p3+p4; r=1-pm1/(4*(1+be)); r1=r-1; r2=-r; s0=(p1-r+1+2*be)/(1-be); s1=(p2-p1-2*be+2*(1+be)*(r-1))/(1-be); s2=(p4+r)/(1-be);t0=ams/(2*(1-be)); t1=t0*ao1; t2=t0*ao2; %clf;%[t,x,y]=sim('block518',[0, 40]);subplot(3,2,1);plot(t,y(:,3),'k--',t,y(:,1),'k','Linew',lw);axis([0,40,0,1.3]);set(gca,'FontSize',9,'Fontname','NewCenturySchlbk')set(gca,'xtick',[0 20 40]);set(gca,'ytick',[0 1]);ylabel('Output','Fontname','NewCenturySchlbk','Fontsize',9)text(-8,1.3,'(a)','Fontname','NewCenturySchlbk','Fontsize',9)%title('Fig 5.19','fontname','NewCenturySchlbk','FontSize',9);drawnow;%subplot(3,2,3);[ts,ys]=stairs(t,y(:,2));plot(ts,ys,'m','Linew',lw);axis([0,40,-0.5,3.5]);set(gca,'FontSize',9,'Fontname','NewCenturySchlbk')set(gca,'xtick',[0 20 40]);set(gca,'ytick',[0 2]);ylabel('Input','Fontname','NewCenturySchlbk','Fontsize',9)xlabel('Time','Fontname','NewCenturySchlbk','Fontsize',9)drawnow;%omo=8;%% Calculation of desired closed loop characteristic polynomial AmAo a=exp(-zeta*om*h); b=om*h*sqrt(1-zeta*zeta);re=a*cos(b); am1=-2*re; am2=a*a; ams=1+am1+am2; ao=exp(-zetao*omo*h);bo=omo*h*sqrt(1-zetao*zetao);reo=ao*cos(bo); ao1=-2*reo; ao2=ao*ao; aos=1+ao1+ao2; % Sampling the oscillator giving B/A be=cos(omp*h); % Solution of the polynomial identity AR+BS=P=AmAo p1=ao1+am1; p2=ao2+am2+am1*ao1; p3=am2*ao1+am1*ao2; p4=am2*ao2; pm1=1-p1+p2-p3+p4; r=1-pm1/(4*(1+be)); r1=r-1; r2=-r; s0=(p1-r+1+2*be)/(1-be); s1=(p2-p1-2*be+2*(1+be)*(r-1))/(1-be); s2=(p4+r)/(1-be);t0=ams/(2*(1-be)); t1=t0*ao1; t2=t0*ao2; %%[t,x,y]=sim('block518',[0, 40]);subplot(3,2,2);plot(t,y(:,3),'k--',t,y(:,1),'k','Linew',lw);axis([0,40,0,1.3]);set(gca,'FontSize',9,'Fontname','NewCenturySchlbk')set(gca,'xtick',[0 20 40]);set(gca,'ytick',[0 1]);ylabel('Output','Fontname','NewCenturySchlbk','Fontsize',9)text(-8,1.3,'(b)','Fontname','NewCenturySchlbk','Fontsize',9)drawnow;%subplot(3,2,4);[ts,ys]=stairs(t,y(:,2));plot(ts,ys,'m','Linew',lw);axis([0,40,-0.5,3.5]);set(gca,'FontSize',9,'Fontname','NewCenturySchlbk')set(gca,'xtick',[0 20 40]);set(gca,'ytick',[0 2]);ylabel('Input','Fontname','NewCenturySchlbk','Fontsize',9)xlabel('Time','Fontname','NewCenturySchlbk','Fontsize',9)drawnow;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -