fig104.m

来自「realize analysis and design for computer」· M 代码 · 共 193 行

M
193
字号
% Generates Fig 10.4% Covariance function ,spectrum and realization for the systems% H(z)=b/(z-a) a=0.8 and 0.4 % H(z)=b/(z^2+a1*z+a2) with om=1 and zeta=0.5 and 0.1 sampled% with h=1% The output variance is one by adjusting b% Computer Controlled Systems (3rd ed)% Author: B. Wittenmark% Last edit: 1997-07-10% Copyright (c) 1996 by K. J. 舠tr鰉, B. Wittenmark and% Department of Automatic Control, Lund Institute of% Technology, Lund, Swedennewplot;clfset(gcf,'PaperUnits','centimeters','PaperPosition',[2 2 13 13])set(gcf,'Units','centimeters','position',get(gcf,'PaperPosition'))clearlw=0.9;n=10;ns=100;rl=-1;ru=1;su=20;sl=0.02;yu=4;yl=-4;Ms=6;w=logspace(-2,pi,ns);a=0.8;for jj=1:n+1, t(jj)=jj-1; ry(jj)=a^(jj-1); end;for jj=1:ns,specy(jj)=(1+a*a)/(1+a*a-2*a*cos(w(jj)))/(2*pi);endsubplot(4,3,1)hpl=plot(t,ry,'k',t,ry,'m.','Linew',lw);set(hpl,'Markersize',Ms)hold onplot([0 n],[0 0],'k--','Linew',lw)axis([0 n rl ru]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 10]);set(gca,'ytick',[-1 0 1]);title('Covariance','Fontname','NewCenturySchlbk','Fontsize',9)subplot(4,3,2)loglog(w,specy,'k','Linew',lw)axis([0.01 pi sl su]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0.01 1]);set(gca,'ytick',[0.1 10]);title('Spectrum','Fontname','NewCenturySchlbk','Fontsize',9)num=[sqrt(1-a*a)];den=[1 -a];[ts,x,y]=sim('blockcov',[0 50]);subplot(4,3,3)hpl=plot(ts,y,'k',ts,y,'m.','Linew',lw);set(hpl,'Markersize',Ms);axis([0 50 yl yu]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 50]);set(gca,'ytick',[-2 0 2]);title('Output','Fontname','NewCenturySchlbk','Fontsize',9)a=0.4;for jj=1:n+1, t(jj)=jj-1; ry(jj)=a^(jj-1); end;for jj=1:ns,specy(jj)=(1+a*a)/(1+a*a-2*a*cos(w(jj)))/(2*pi);endsubplot(4,3,4)hpl=plot(t,ry,'k',t,ry,'m.','Linew',lw);set(hpl,'Markersize',Ms)hold onplot([0 n],[0 0],'k--','Linew',lw)axis([0 n rl ru]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 10]);set(gca,'ytick',[-1 0 1]);subplot(4,3,5)loglog(w,specy,'k','Linew',lw)axis([0.01 pi sl su]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0.01 1]);set(gca,'ytick',[0.1 10]);num=[sqrt(1-a*a)];den=[1 -a];[ts,x,y]=sim('blockcov',[0 50]);subplot(4,3,6)hpl=plot(ts,y,'k',ts,y,'m.','Linew',lw);set(hpl,'Markersize',Ms);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 50]);set(gca,'ytick',[-2 0 2]);axis([0 50 yl yu]);om=1;zeta=0.5;a1=-2*exp(-zeta*om)*cos(sqrt(1-zeta*zeta)*om);a2=exp(-2*zeta*om);phi=[-a1 -a2;1 0];ga=[1;0];c1=[0 1];xl=dlyap(phi,ga*ga');ry0=c1*xl*c1';c=c1/sqrt(ry0);for jj=1:n, t(jj)=jj-1; ry(jj)=c*phi^(jj-1)*xl*c'; end;for jj=1:ns,specy(jj)=abs(1/(exp(2*i*w(jj))+a1*exp(i*w(jj))+a2).../(exp(-2*i*w(jj))+a1*exp(-i*w(jj))+a2))/(2*pi);endsubplot(4,3,7)hpl=plot(t,ry,'k',t,ry,'m.','Linew',lw);set(hpl,'Markersize',Ms)hold onplot([0 n],[0 0],'k--','Linew',lw)axis([0 n rl ru]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 10]);set(gca,'ytick',[-1 0 1]);subplot(4,3,8)loglog(w,specy,'k','Linew',lw)axis([0.01 pi sl su]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0.01 1]);set(gca,'ytick',[0.1 10]);num=[1];den=[1 a1 a2];[ts,x,y]=sim('blockcov',[0 50]);subplot(4,3,9)hpl=plot(ts,y,'k',ts,y,'m.','Linew',lw);set(hpl,'Markersize',Ms);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');axis([0 50 yl yu]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 50]);set(gca,'ytick',[-2 0 2]);om=1;zeta=0.1;a1=-2*exp(-zeta*om)*cos(sqrt(1-zeta*zeta)*om);a2=exp(-2*zeta*om);phi=[-a1 -a2;1 0];ga=[1;0];c1=[0 1];xl=dlyap(phi,ga*ga');ry0=c1*xl*c1';c=c1/sqrt(ry0);for jj=1:n, t(jj)=jj-1; ry(jj)=c*phi^(jj-1)*xl*c'; end;for jj=1:ns,specy(jj)=abs(1/(exp(2*i*w(jj))+a1*exp(i*w(jj))+a2).../(exp(-2*i*w(jj))+a1*exp(-i*w(jj))+a2))/(2*pi);endsubplot(4,3,10)hpl=plot(t,ry,'k',t,ry,'m.','Linew',lw);set(hpl,'Markersize',Ms)hold onplot([0 n],[0 0],'k--','Linew',lw)axis([0 n rl ru]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 10]);set(gca,'ytick',[-1 0 1]);xlabel('\tau','Fontname','NewCenturySchlbk','Fontsize',9)subplot(4,3,11)loglog(w,specy,'k','Linew',lw)axis([0.01 pi sl su]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0.01 1]);set(gca,'ytick',[0.1 10]);xlabel('\omega','Fontname','NewCenturySchlbk','Fontsize',9)num=[1];den=[1 a1 a2];[ts,x,y]=sim('blockcov',[0 50]);subplot(4,3,12)hpl=plot(ts,y,'k',ts,y,'m.','Linew',lw);set(hpl,'Markersize',Ms);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');axis([0 50 yl yu]);set(gca,'Fontsize',9,'Fontname','NewCenturySchlbk');set(gca,'xtick',[0 50]);set(gca,'ytick',[-2 0 2]);xlabel('Time','Fontname','NewCenturySchlbk','Fontsize',9)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?