控制系统的MATLAB仿真和设计课后答案.docx
第二章l>>x=15223394857760>>x(6)>>x(l35)»x(4:end)>>x(find(x>70)2>>T=1-23-42-3;>>n=length(T);>>TT=T,;>>fork=n-l:-1:0»B(:,n-k)=TT.k;>>end»B>>test=vander(T)3>>A=zeros(2,5);»A(:)=-4:5>>L=abs(八)>3>>islogical(L)>>X=A(L)4>>A=4,15,-45,10,6;56,0,17,-45,0»find(A>=10&A<=20)5>>pl=conv(l,0,2,conv(l,4,1,1);>>p2=l011;»q,r=deconv(pl,p2);>>cq='商多项式为;Cr='余多项式为;>>disp(cq,poly2str(q,s,),disp(cr,poly2str(r,s,)6>>A=111213;141516;171819;>>PA=poly(八)>>PPA=poly2str(PA,s,)第三章l»n=(-10:10),;>>y=abs(n);>>plot(n,y,r.,MarkerSize,20)>>axisequal>>gridon>>xlabel(,n')2»x=0:pi/100:2*pi;> >y=2*exp(-0.5*x).*sin(2*pi*x);> >plot(x,y),gridon;3»t=0:pi/50:2*pi;> >x=8*cos(t);> >y=4*sqrt(2)*sin(t);> >z=-4*sqrt(2)*sin(t);> >plot3(x,y,z,p,);> >title(,Linein3-DSpace,);> >text(0,0,0,origin,);> >xlabel(,X),yTable(,Y,),zlable(,Z,);grid;4>>theta=0:0.Ol:2*pi;> >rho=sin(2*theta).*cos(2*theta);> >polar(theta,rho,k,);5>>x,y,z=sphere(20);>>zl=z;»zl(:,1:4)=NaN;> >cl=ones(size(zl);> >surf(3*x,3*y,3*zl,cl);>>holdon> >z2=z;> >c2=2*ones(size(z2);»c2(:,1:4)=3*ones(size(c2(:,1:4);> >surf(1.5*x,1.5*y,1.5*z2,c2);> >colormap(0,1,0;0.5,0,0;1,0,0);>>gridon>>holdoff第四章l>>form=100:999ml=fix(m100);m2=rem(fix(m10),10);m3=rem(m,10);ifm=m1*m1*m1+m2*m2*m2+m3*m3*m3disp(m)endend2M文件:functions,p=fcircle(r)s=pi*r*r;p=2*pi*r;主程序:s,p=fcircle(10)3»y=0;n=100;fori=l:ny=y+lii;end»y4M文件:functionf=factor(n)ifn<=lf=l;elsef=factor(11-l)*n;end主程序:>>s=0;fori=l:5s=s+factor(i);end»s5>>sum=0;i=l;whilesum<2000sum=sum+i;i=i+l;end;>>n=i-26for循环M文件:functionk=jcsum(n)k=0;fori=0:nk=k+2i;end主程序:>>jcsum(63)WhiIe循环M文件:functionk=jcsuml(n)k=0;i=0;whilei<=nk=k+2i;i=i+l;end主程序:»jcsuml(63)第五章1>>A=2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4;>>b=13,-9,6,OY;>>x=Ab2M文件:functionf=fxyz(u)x=u(l);y=u(2);z=u(3);f=x+y.2.x4+z.2.y÷2.z;主程序:U,fmin=fminsearchCfxyz',O.5,O.5,O.5)3>>X=1inspace(O,2*pi,50);»Y=sin(X);>>P=polyfit(X,Y,3)>>AX=1inspace(0,2*pi,50);»Y=sin(X);>>Yl=polyval(P,X)>>plot(X,Y:o,x,yi,-*>)4»x=0:2.5:10;>>h=030r601,;>>T=95,14,0,0,0;88,48,32,12,6;67,64,54,48,41;»xi=0:0.5:10;>>hi=0:10:60'>>temps=interp2(x,h,T,xi,hi,'cubic,);> >mesh(xi,hi,temps);第六章l>>symsx>>y=finverse(ltan(x)2>>symsxy> >f=l(l+x2);g=sin(y);>>fg=compose(f,g)3>>symsx> >g=(exp(x)+x*sin(x)(1/2);>>dg=diff(g)4>>F=int(int(,x*exp(-*y),),y,)5>>symsx> >F=ztrans(x*exp(-*10)6>>a=0l;-2-3;>>symss>>inv(s*eye(2)-a);7>>f=solve(,a*x2÷b*x+c,)8>>f=solve(,x+y+z=l,-y+z=2,2*-y-z=l,)9>>y=dsolve(,D2y+2*Dy+2*y=0,y(0)=l,Dy(O)=O,)>>ezplot(y),gridon10>>a=maple(,simplify(sin(x)2+cos(x)2);)ll>>f=maple(,Iaplace(exp(-3*t)*sin(t),t,s);,)12>>symstx>>F=sin(x*t+2*t);>>L=laplace(F)第七章34567第八章l-l>>h=tf(5,0,1,2,2)l-2>>s=tf('s');»H=5(s2+2*s+2);»H.inputdelay=2l-3>>h=tf(0.5,0,l,-0.5,0.5,0.1)2>>num=2*l,0.5;den=l,0.2,1.01;>>sys=tf(num,den)»z,p,k=tf2zp(num,den);>>zpk(z,p,k)»A,B,C,D=tf2ss(num,den);>>ss(A,B,C,D)3>>num=l,5;den=l,6,5,1;ts=O.1;>>sysc=tf(num,den);>>sysd=c2d(sysc,ts,tusti11,)4> >rl=l;r2=2;cl=3;c2=4;»A,B,C,D=linmod(,x84,);> >num,den=ss2tf(A,B,C,D);>>sys=tf(num,den)5>>A=1,l,0;0,l,0;0,O,2;B=0,O;1,0;0,-2;>>n=size(八)> >Tc=ctrb(A,B);ifn=rank(Tc)disp('系统完全能控');elsedisp('系统不完全能控');end第九章l>>num=2,5,1;den=l,2,3;> >bode(num,den);gridon;>>figure;> >nyquist(num,den);2>>num=5*l,5,6;den=l,6,10,8;> >step(num,den);gridon;>>figure;> >impulse(num,den);gridon;3>>kosi=0.7;wn=6;> >num=wn2;den=1,2*kosi*wn,Wne2;> >step(num,den);gridon;>>figure;> >impulse(num,den);gridon;4M文件:functionrtab,info=routh(den)info=;vecl=den(l:2:length(den);nrT=length(vecl);vec2=den(2:2:length(den)-1);rtab=vecl;vec2,zeros(1,nrT-length(vec2);fork=l:length(den)-2,alpha(k)=vecl(I)vec2(l);fori=l:length(vec2),a3(i)=rtab(k,i+l)-alpha(k)*rtab(k+l,i+l);endifsum(abs(a3)=0a3=polyder(vec2);info=info,Allelementsinrow',.int2str(k+2)'arezeros/;elseifabs(a3(l)<epsa3(l)=le-6;info=info,Replacedfirstelement;,;endrtab=rtab;a3,zeros(1,nrT-length(a3);vecl=vec2;vec2=a3;end主程序:>>den=l,2,8,12,20,16,16;>>rtab,info=routh(den)>>a=rtab(:,1)ifall(a>0)disp('系统是稳定的');elsedisp('系统是不稳定的);end5>>num=7*l,5;den=conv(l,0,0,conv(l,10,1,1);»gm,pm,wg,wc=margin(num,den)第十章1 M文件:functionvarargout=rg_lead(ng,dg,si)ifnargout=lngv=polyval(ng,si);dgv=polyval(dg,si);g=11gvdgv;thetal=pi-angle(g);zc=real(sl)-imag(sl)/tan(thetal);t=-lzc;varargoutl=t,1;elseifnargout=2ngv=poIyval(ng,si);dgv=poIyval(dg,si);g=ngvdgv;theta=angle(g);phi=angle(sl);iftheta>Ophi-c=pi-theta;endiftheta<O;phi-c=thetaendtheta-z=(phi+phi_c)/2;theta-p=(phi-phi_c)/2;z_c=real(si)-imag(si)/tan(theta_z);p_c=real(sl)-imag(si)/tan(theta_p);nk=l-z_c;varargout2=1-p_c;kc=abs(p_c/z_c);iftheta<Okc=-kcendvarargout1=kc*nk;elseCrrOr('输出变量数目不正确!);end主程序:»ng=l;dg0=10000*lO-1.1772;>>g=tf(ng,dg);%满足开环增益的为校正系统的传递函数>>s=kw2s(0.7,0.5)%期望的闭环主导极点»ngc=rg_lead(ng,dg,s);>>gc=tf(ngc,1)>>gc=tf(g*gc);>>rlocus(g,gc);>>bl=feedback(g,1);%未校IE系统的闭环传递函数>>b2=feedback(gc,1);%校正后系统的闭环传递函数»figure,step(bl,r-',b2,'b');gridon%绘2 M文件:functionngc,dgc,k=rg_lag(ng,dg,KK,si,a)ngv=poIyval(ng,si);dgv=polyval(dg,si);g=dgvngv;k=abs(g);%期望主导极点处的根轨迹增益beta=kKK;kosil,wnl=s2kw(sl);zc=-wnl*sin(a*pi180)sin(pi-atan(sqrt(l-kosi12)kosi1)-(a*pi180);%利用正弦定理pc=beta*zc;ngc=beta*l,-zc;dgc=l,-pc;主程序:»KK=20;sl=-2+i*sqrt(6);a=l>>ng0=10;dgO=conv(l,0,1,4);>>g=tf(ng,dg);>>11gc,dgc,k=rg_lag(ngO,dg,KK,si,a);>>gc=tf(ngc,dgc)>>gc=tf(KK*gO*gc);>>bl=feedback(k*g,1);>>b2=feedback(gc,1);>>step(bl,r',b2,'b');gridon3 M文件:functionngc,dgc,k=rg_lag(ngO,dg,KK,si,a)ngv=polyval(ng,si);dgv=poIyval(dg,si);g=dgvngv;k=abs(g);%期望主导极点处的根轨迹增益beta=kKK;kosil,wnl=s2kw(sl);zc=wnl*sin(a*pi180)sin(pi-atan(sqrt(l-kosi12)kosi1)-(a*pi180);%利用正弦定理pc=beta*zc;ngc=beta*l,-zc;dgc=l,-pc;主程序:>>KK=128;sl=-2+i*2*sqrt(3);a=2>>ng0=10;dgO=conv(1,0,conv(l,2,1,8);>>g=tf(ng,dg);>>11gc,dgc,k=rg_lag(ng,dg,KK,si,a);>>gc=tf(ngc,dgc)>>gc=tf(KK*gO*gc);>>rlocus(g,gc);>>bl=feedback(k*g,1);>>b2=feedback(gc,1);»figure,step(bl,r-',b2,'b,);gridon4M文件:functionngc,dgc=lead4(ng,dg,KK,Pm,w)mu,pu=bode(KK*ngO,dg,w);gm,pm,wcg,wcp=margin(mu,pu,w);alf=ceil(Pm-pm+5);phi=(alf)*pi180;a=(l+sin(phi)/(lsin(phi),dbmu=20*logl0(mu);mm=-10*logl0(a);wgc=spline(dbmu,w,mm),T=l(wgc*sqrt(a),ngc=a*T,1;dgc=T,1;主程序:> >ng=l;dgO=conv(1,O,0,1,5);> >g=tf(ng,dg);> >w=logspace(-3,3);»KK=l;Pm=50;> >ngc,dgc=lead4(ng,dg,KK,Pm,w);>>gc=tf(ngc,dgc);gc=tf(KK*gO*gc);>>bode(KK*gO,w);holdon,bode(gc,w);gridon,holdoff»gm,pm,wcg,wcp=margin(gc)>>Kg=20*logl0(gm)>>gl=feedback(gc,1);>>bode(gl),gridon,»mag,phase,w=bode(gl);>>a=find(mag<=O.707*mag(l);>>wb=w(a(l)>>max(mag)>>b=find(mag=max(mag)>>wr=w(b)5M文件:functionngc,dgc=fg_lead_pm(ng,dg,Pm,w)ngc=a*T,1;dgc=T,1;mu, pu=bode(ngO, dg, w);gm, pm, wcg, wcp =margin (mu, pu, w);率alf=ceil(Pm-pm+5);度,phi=(alf)*pi180;a=(l+sin(phi)(l-sin(phi);dbmu=20*logl0(mu);mm=-10*logl0(a);wgc=spline(dbmu, w, mm);T=l(wgc*sqrt(a);%计算原系统的对数频率响应数据 %求取原系统的相角裕度和剪切频%计算控制器提供的最大超前角%将最大超前角转换为弧度单位%计算a值%系统的对数幅值%wm处的控制器对数幅值%差值求取Wnb认为Wm=WC%计算T主程序:> >KK=40;Pm=50;> >ng=KK*1;dgO=conv(l,0,conv(l,1,1,4);> >g=tf(ng,dg);> >w=logspace(-2,4);> >ngc,dgc=fg_lead_pm(ng,dg,Pm,w)> >gc=tf(ngc,dgc),gc=tf(g*gc);> >bl=feedback(g,1);b2=feedback(gc,1);> >step(bl,r-',b2,'b');gridon»figure,bode(gO,r-,gc,b,w),gridon,»gm,pm,wcg,wcp=margin(gc),Km=20*logl0(gm)