控制系统的MATLAB仿真与设计课后答案.docx
- 文档编号:28995717
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:14
- 大小:18.57KB
控制系统的MATLAB仿真与设计课后答案.docx
《控制系统的MATLAB仿真与设计课后答案.docx》由会员分享,可在线阅读,更多相关《控制系统的MATLAB仿真与设计课后答案.docx(14页珍藏版)》请在冰豆网上搜索。
控制系统的MATLAB仿真与设计课后答案
控制系统的MATLAB仿真与设计课后答
第二章
l»x=[15223394857760]
»x(6)
»x([135])
»x(4:
end)
»x(find(x>70))
2»T=[1-23-42-3];
>>n二length(T);
»TT=T';
»fork=n-l:
-l:
0
»B(:
n-k)=TT.Ak;
»end
»B
»test=vander(T)
3»A=zeros(2,5);
»A(:
)=-4:
5
»L=abs(A)>3
»islogical(L)
»X=A(L)
4»A=[4,15,-45,10,6;56,0,17,-45,0]
»find(A>=10&Av二20)
5»pl=conv([l,0,2],conv([l,4],[l,l]));»p2=[l011];
»[q,r]=deconv(pl,p2);
>>cq二,商多项式为cZ余多项式为1
»disp([cq,poly2str(q,,s,)]),disp([cr/poly2str(r;s,)])
6»A=[111213;141516;171819];
»PA=poly(A)
»ppA=poly2str(PA/s')
第三章
l»n=(-10:
10)1;
»y=abs(n);
»plot(n,y/r.7MarkerSize',20)
»axisequal
»gridon
>>xlabel(k)
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)ylable(Y),zlable(Z);grid;
4»theta=0:
0.01:
2*pi;
»rho=sin(2*theta).*cos(2*theta);
»polar(theta,rho,'k');
5»[x,y,z]=sphere(20);
»zl=z;
»zl(:
l:
4)=NaN;
»cl=ones(size(zl));
»surf(3*x,3*y,3*zl,cl);
»holdon
»z2=z;
»c2=2*ones(size(z2));
»c2(:
l:
4)=3*ones(size(c2(:
l:
4)));
»surf(1.5*x,1.5*y,1.5*z2,c2);
»colormap([0,l,0;0.5,0,0;l,0,0]);
»gridon
»holdoff
第四章
l»form=100:
999
ml=fix(m/100);m2=rem(fix(m/10),10);m3=rem(m,10);
ifm==ml*ml*ml+m2*m2*m2+m3*m3*m3disp(m)
end
end
2M文件:
function[s,p]=fcircle(r)
s=pi*r*r;
p=2*pi*r;
主程序:
[s,p]=fcircle(10)
3»y=0;n=100;
fori=l:
n
y=y+l/i/i;
end
»y
4M文件:
functionf二factor(n)
ifn<=l
f=l;else
f=factor(n-l)*n;end
主程序:
»s=0;
fori=l:
5
s=s+factor(i);
end
5»sum=0;i=l;whilesum i=i+l; end; >>n=i・2 6for循环M文件: functionk=jcsum(n)k=0; fori=0: n k=k+2Ai; end 主程序: »jcsum(63) While循环M文件: functionk=jcsuml(n) k=O;i=O; whilei<=n k=k+2Ai; i=i+l; end 主程序: »jcsuml(63) 第五章 l»A=[2,l,-5,l;l,-5,0,7;0,2,l/-l;l,6,-l,-4]; »b=[13,-9,6,0]'; »x=A\b 2M文件: functionf=fxyz(u) x=u(l);y=u (2);z=u(3); f=x+y.A2./x/4+z.A2./y+2./z; 主程序: [U/fmin]=fminsearch('fxyz',[0.5,0.5,0.5]) 3»X=linspace(0,2*pi,50);»Y=sin(X); »P=polyfit(X,Y,3) »AX=linspace(0,2*pi,50); »Y=sin(X); »Yl=polyval(P,X) >>plot(X,Y,': O',X'Y「」') 4»x=0: 2.5: 10; »h=[0: 30: 60]'; »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(l/tan(x)) 2»symsxy »f=l/(l+xA2);g=sin(y); »fg=compose(tg) 3»symsx »dg=diff(g)4»F=int(int(,x*exp(-x*y)'/,x,);y,) 5»symsx »F=ztrans(x*exp(-x*10)) 6»a=[0l;-2-3]; »symss »inv(s*eye (2)-a); 7»f=solve('a*xA2+b*x+c') 8»f=solve('x+y+z=17x-y+z=2';2*x-y-z=l') 9»y=dsolve(,D2y+2*Dy+2*y=0,;y(0)=l,;Dy(0)=0,) »ezplot(y),gridon 10»a=maple(,simplify(sin(x)A2+cos(x)A2);') ll»f=maple('laplace(exp(-3*t)*sin(t)/t,s);1) 12»symstx »F=sin(x*t+2*t); »L=laplace(F) 第七章 1 2 3 4 5 7 第八章 l-l»h=tf([5,0],[l,2,2]) l-2»s=tf('s'); »H=[5/(sA2+2*s+2)]; »H.inputdelay=2 l-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,l];ts=0.1; »sysc=tf(num,den); »sysd=c2d(sysc,ts,'tustin‘) 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=[l,l,0;0,l,0;0/0/2];B=[0,0;l,0;0/-2]; >>n=size(A) »Tc=ctrb(A,B);ifn==rank仃c) dispC系统完全能控J; else dispC系统不完全能控J; end 第九章 l»num=[2,5,l];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=wnA2;den=[l,2*kosi*wn,wnA2]; »step(num,den);gridon; »figure; »impulse(num,den);gridon; 4M文件: function[rtab,info]=routh(den) info=[];vecl二den(l: 2: length(den));nrT=length(vecl);vec2=den(2: 2: length(den)-l); rtab=[vecl;vec2,zeros(l,nrT・length(vec2))];fork=l: length(den)-2, alpha(k)=vecl(l)/vec2(l); fori=l: length(vec2), a3(i)=rtab(k,i+l)-alpha(k)*rtab(k+l,i+l); end ifsum(abs(a3))==0 a3=polyder(vec2); info二[info/AIIelementsinrow int2str(k+2)'arezeros;1]; elseifabs(a3(l)) a3(l)=le-6; info二[info/Replacedfirstelement;]; end rtab=[rtab;a3,zeros(l,nrT-length(a3))]; vecl=vec2;vec2=a3; end 主程序: »den=[l,2,8,12,20,16,16]; »[rtab,info]=routh(den)»a二rtab(: J) ifall(a>0) dispC系统是稳定的'); else disp(*系统是不稳定的匕 end 5»num=7*[l,5];den=conv([l,0,0],conv([l,10],[l,l])); »[gm,pm,wg,wc]=margin(num,den) 第十章 1M文件: functionvarargout二rg_lead(ngO’dgO’sl) ifnargout==l ngv=polyval(ngO’sl); dgv=polyval(dgO,sl); 沪ngv/dgv; thetal=pi-angle(g); zc=real(sl)-imag(sl)/tan(thetal); t=-l/zc; varargout{l}=[t,l]; elseifnargout==2 ngv=polyval(ngO’sl);dgv=polyval(dgO,sl); g=ngv/dgv;theta=angle(g);phi=angle(sl); iftheta>0 phi_c=pi-theta; end iftheta<0; phi_c=-theta end theta_z=(phi+phi_c)/2;theta_p=(phi-phi_c)/2;z_c=real(sl)-imag(sl)/tan(theta_z);p_c=real(sl)-imag(sl)/tan(theta_p); nk=[l-z_c];varargout{2}=[l-p_c];kc=abs(p_c/z_c);iftheta<0 kc=-kc end varargout{l}=kc*nk; else error('输出变量数目不正确! J; end 主程序: »ngO=[l];dg0=10000*[l0-1.1772]; »gO=tf(ngO,dgO);%满足开环增益的为校正系统的传递函数»s=kw2s(0.7,0.5)%期望的闭坏主导极点 >>ngc=rg_lead(ngO,dgO,s);»gc二tf(ngc,l) »gOc=tf(gO*gc); »rlocus(gO,gOc); »bl=feedback(gO,l);%未校正系统的闭环传递函数 »b2=feedback(gOc,l);%校正后系统的闭环传递函数 “figure,step(b「rTb2,b);gridon%绘 2M文件: function! ngc,dgc,k]二rg_lag(ngO,dgO,KK,sl,a) ngv=polyval(ngO,sl);dgv二polyval(dgO,sl); 沪dgv/ngv; k=abs(g);%期望主导极点处的根轨迹增益 beta=k/KK; [kosil,wnl]=s2kw(sl); zc=-wnl*sin(a*pi/180)/sin(pi-atan(sqrt(l-kosilA2)/kosil)- (a*pi/180));%利用正弦定理 pc=beta*zc; ngc=beta*[l,-zc];dgc=[l,-pc]; 主程序: »KK=20;sl=-2+i*sqrt(6);a=l »ng0=[10];dg0=conv([l,0],[l,4]); »gO=tf(ngO,dgO); >>[ngc,dgc,k]=rg_lag(ngO,dgO,KK,s: l,a);>>gc二tf(ngc’dgc) »gOc=tf(KK*gO*gc); »bl=feedback(k*gO,l); »b2=feedback(gOc,l); »step(bl/r-'/b2/b');gridon 3M文件: function[ngc,dgc,k]=rg_lag(ngO,dgO,KK,sl,a) ngv=polyval(ngO,sl);dgv二polyval(dgO,sl); 沪dgv/ngv; k=abs(g);%期望主导极点处的根轨迹增益 beta=k/KK; [kosil,wnl]=s2kw(sl); zc=-wnl*sin(a*pi/180)/sin(pi-atan(sqrt(l-kosilA2)/kosil)- (a*pi/180));%利用正弦定理 pc=beta*zc; ngc=beta*[l,-zc];dgc=[l,-pc]; 主程序: »KK=128;sl=-2+i*2*sqrt(3);a=2 »ng0=[10];dg0=conv([l,0],conv([l,2],[l,8])); »gO=tf(ngO,dgO); »[ngc,dgc,k]=rg_lag(ngO,dgO,KK,sl,a); »gc=tf(ngc’dgc) »gOc=tf(KK*gO*gc); »rlocus(gO,gOc); »bl=feedback(k*gO,l); »b2=feedback(gOc,l); >>figure,step(bl,r・Jb2,b);gridon 4M文件: function[ngc,dgc]=lead4(ngO,dgO,KK,Pm,w)[mu,pu]=bode(KK*ngO,dgO,w); [gm,pm,wcg,wcp]=margin(mu,pu,w);alf=ceil(Pm・pm+5); phi=(alf)*pi/180; 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)), ngc=[a*T,l];dgc=[T,l]; 主程序: »ng0=[l];dg0=conv([l,0,0],[l,5]); »gO=tf(ngO,dgO); »w=logspace(-3,3); »KK=l;Pm=50; »[ngc,dgc]=lead4(ngO,dgO,KK,Pm,w); »gc=tf(ngc,dgc);gOc=tf(KK*gO*gc); »bode(KK*gO,w);holdon,bode(gOc,w);gridon,holdoff »[gm/pm,wcg,wcp]=margin(gOc) »Kg=20*logl0(gm) »gl=feedback(gOc,l); »bode(gl),gridon, »[mag,phase,w]=bode(gl); »a=find(mag<=0.707*mag(l)); »wb=w(a(l)) »max(mag) »b=find(mag==max(mag)) »wr=w(b) 5M文件: function[ngc,dgc]=fgJead_pm(ngO,dgO,Pm,w) [mu,pu]=bode(ngO,dgO,w);%计算原系统的对数频率响应数据[gm,pm,wcg,wcp]=margin(mu,pu,w);%求取原系统的相角裕度和剪切频率alf=ceil(Pm-pm+5);%计算控制器提供的最大超前角度,phi=(alf)*pi/180;%将 最大超前角转换为弧度单位a=(l+sin(phi))/(l・sin(phi));%计算a值dbmu=20*logl0(mu);%系统的对数幅值mm=-10*logl0(a);%wm处的控制器对数幅值 wgc=spline(dbmu,w,mm);%差值求取wm,认为wm=wcT=l/(wgc*sqrt(a));%计算T ngc=[a*T,l];dgc=[T,l]; 主程序: »KK=40;Pm=50; »ngO=KK*[1];dg0=conv([l,0],conv([l,l],[l,4])); »gO=tf(ngO,dgO); »w=logspace(-2,4); >>[ngc/dgc]=fg_lead_pm(ngO/dgO,Pm,w) »gc=tf(ngc,dgc)/gOc=tf(gO*gc); »bl=feedback(gO,l);b2=feedback(gOc,l); >>step(by,b2/b');gridon »figure,bode(gO/r-',gOc/b,,w),gridon, »[gm,pm,wcg,wcp]=margin(gOc),Km=20*logl0(gm)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 控制系统 MATLAB 仿真 设计 课后 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)