控制系统的MATLAB仿真与设计课后答案.docx

上传人:b****9 文档编号:28995717 上传时间:2023-07-20 格式:DOCX 页数:14 大小:18.57KB
下载 相关 举报
控制系统的MATLAB仿真与设计课后答案.docx_第1页
第1页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第2页
第2页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第3页
第3页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第4页
第4页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

控制系统的MATLAB仿真与设计课后答案.docx

《控制系统的MATLAB仿真与设计课后答案.docx》由会员分享,可在线阅读,更多相关《控制系统的MATLAB仿真与设计课后答案.docx(14页珍藏版)》请在冰豆网上搜索。

控制系统的MATLAB仿真与设计课后答案.docx

控制系统的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)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 思想汇报心得体会

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1