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

上传人:b****2 文档编号:1001842 上传时间:2023-04-30 格式:DOCX 页数:14 大小:18.33KB
下载 相关 举报
控制系统的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_第6页
第6页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第7页
第7页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第8页
第8页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第9页
第9页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第10页
第10页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第11页
第11页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第12页
第12页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第13页
第13页 / 共14页
控制系统的MATLAB仿真与设计课后答案.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

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

第二章

1>>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-1:

-1:

0

>>B(:

n-k)=TT.%

>>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&A<=20)

5>>p1=conv([1,0,2],conv([1,4],[1,1]));

>>p2=[1011];

>>[q,r]=deconv(p1,p2);

>>cq='商多项式为';cr='余多项式为';

's')])

>>disp([cq,poly2str(q,'s')]),disp([cr,poly2str(r,

6>>A=[111213;141516;171819];

>>PA=poly(A)

>>PPA=poly2str(PA,'s')

第三章

1>>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'),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);

>>z1=z;

>>z1(:

1:

4)=NaN;

>>c1=ones(size(z1));

>>surf(3*x,3*y,3*z1,c1);

>>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

第四章

1>>form=100:

999

m1=fix(m/100);

m2=rem(fix(m/10),10);

m3=rem(m,10);

ifm==m1*m1*m1+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=1:

n

y=y+1/i/i;

end

>>y

4M文件:

functionf=factor(n)

ifn<=1

f=1;

else

f=factor(n-1)*n;

end主程序:

>>s=0;

fori=1:

5

s=s+factor(i);

end

>>s

5>>sum=0;i=1;

whilesum<2000

sum=sum+i;

i=i+1;

end;

>>n=i-2

6for循环M文件:

functionk=jcsum(n)

k=0;

fori=0:

n

k=k+2Ai;

end主程序:

>>jcsum(63)

While循环M文件:

functionk=jcsum1(n)

k=0;i=0;

whilei<=n

k=k+2Ai;

i=i+1;

end主程序:

>>jcsum1(63)第五章1>>A=[2,1,-5,1;1,-5,0,7;0,2,1,-1;1,6,-1,-4];>>b=[13,-9,6,0]';

>>x=A\b

2M文件:

functionf=fxyz(u)

x=u

(1);y=u

(2);z=u(3);

f=x+y42./x/4+z42./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);

>>Y1=polyval(P,X)

>>plot(X,Y,':

O',X,Y1,'-*')

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);

第六章

1>>symsx

>>y=finverse(1/tan(x))

2>>symsxy

>>f=1/(1+xA2);g=sin(y);

>>fg=compose(f,g)

3>>symsx

>>g=(exp(x)+x*sin(x))A(1/2);

>>dg=diff(g)

4>>F=int(int('x*exp(-x*y)','x'),'y')

5>>symsx

>>F=ztrans(x*exp(-x*10))

6>>a=[01;-2-3];

>>symss

>>inv(s*eye

(2)-a);

7>>f=solve('a*xA2+b*x+c')

8>>f=solve('x+y+z=1','x-y+z=2','2*x-y-z=1')

9>>y=dsolve('D2y+2*Dy+2*y=0','y(0)=1','Dy(0)=0')

>>ezplot(y),gridon10>>a=maple('simplify(sin(x)A2+cos(x)A2);')

11>>f=maple('laplace(exp(-3*t)*sin(t),t,s);')

12>>symstx

>>F=sin(x*t+2*t);>>L=laplace(F)第七章

1

第八章

1-1>>h=tf([5,0],[1,2,2])

1-2>>s=tf('s');

>>H=[5/(sH+2*s+2)];

>>H.inputdelay=2

1-3>>h=tf([0.5,0],[1,-0.5,0.5],0.1)

2>>num=2*[1,0.5];den=[1,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=[1,5];den=[1,6,5,1];ts=0.1;>>sysc=tf(num,den);

>>sysd=c2d(sysc,ts,'tustin')

4

>>r1=1;r2=2;c1=3;c2=4;

>>[A,B,C,D]=linmod('x84');

>>[num,den]=ss2tf(A,B,C,D);

>>sys=tf(num,den)

5>>A=[1,1,0;0,1,0;0,0,2];B=[0,0;1,0;0,-2];

>>n=size(A)

>>Tc=ctrb(A,B);

ifn==rank(Tc)

disp('系统完全能控');

else

disp('系统不完全能控');

end

第九章

1>>num=[2,5,1];den=[1,2,3];

>>bode(num,den);gridon;

>>figure;

>>nyquist(num,den);

2>>num=5*[1,5,6];den=[1,6,10,8];

>>step(num,den);gridon;

>>figure;

>>impulse(num,den);gridon;

3>>kosi=0.7;wn=6;

>>num=wn^2;den=[1,2*kosi*wn,wnA2];

>>step(num,den);gridon;

>>figure;

>>impulse(num,den);gridon;

4M文件:

function[rtab,info]=routh(den)

info=[];

vec1=den(1:

2:

length(den));nrT=length(vec1);

vec2=den(2:

2:

length(den)-1);

rtab=[vec1;vec2,zeros(1,nrT-length(vec2))];

fork=1:

length(den)-2,

alpha(k)=vec1

(1)/vec2

(1);

fori=1:

length(vec2),

a3(i)=rtab(k,i+1)-alpha(k)*rtab(k+1,i+1);

end

ifsum(abs(a3))==0

a3=polyder(vec2);

info=[info,'Allelementsinrow',...int2str(k+2)'arezeros;'];

elseifabs(a3

(1))

a3

(1)=1e-6;

info=[info,'Replacedfirstelement;'];

end

rtab=[rtab;a3,zeros(1,nrT-length(a3))];

vec1=vec2;vec2=a3;

end

主程序:

>>den=[1,2,8,12,20,16,16];

>>[rtab,info]=routh(den)

>>a=rtab(:

1)

ifall(a>0)

disp('系统是稳定的');

else

disp('系统是不稳定的');

end

5>>num=7*[1,5];den=conv([1,0,0],conv([1,10],[1,1]));

>>[gm,pm,wg,wc]=margin(num,den)

第十章

1M文件:

functionvarargout=rg_lead(ng0,dg0,s1)

ifnargout==1

ngv=polyval(ng0,s1);

dgv=polyval(dg0,s1);

g=ngv/dgv;

thetal=pi-angle(g);

zc=real(s1)-imag(s1)/tan(thetal);

t=-1/zc;

varargout{1}=[t,1];

elseifnargout==2

ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);

g=ngv/dgv;theta=angle(g);phi=angle(s1);

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(s1)-imag(s1)/tan(theta_z);p_c=real(s1)-imag(s1)/tan(theta_p);

nk=[1-z_c];varargout{2}=[1-p_c];kc=abs(p_c/z_c);

iftheta<0

kc=-kc

end

varargout{1}=kc*nk;

else

error('输出变量数目不正确!

');

end

主程序:

>>ng0=[1];dg0=10000*[10-1.1772];

>>g0=tf(ng0,dg0);%满足开环增益的为校正系统的传递函数

>>s=kw2s(0.7,0.5)%期望的闭环主导极点

>>ngc=rg_lead(ng0,dg0,s);

>>gc=tf(ngc,1)

>>g0c=tf(g0*gc);

>>rlocus(g0,g0c);

>>b1=feedback(g0,1);%未校正系统的闭环传递函数

>>b2=feedback(g0c,1);%校正后系统的闭环传递函数

>>figure,step(b1,'r--',b2,'b');gridon%绘

2M文件:

function[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a)ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);

g=dgv/ngv;

k=abs(g);%期望主导极点处的根轨迹增益

beta=k/KK;

[kosi1,wn1]=s2kw(s1);

zc=-wn1*sin(a*pi/180)/sin(pi-atan(sqrt(1-kosi1A2)/kosi1)-(a*pi/180));

%利用正弦定理

pc=beta*zc;

ngc=beta*[1,-zc];dgc=[1,-pc];

主程序:

>>KK=20;s1=-2+i*sqrt(6);a=1>>ng0=[10];dg0=conv([1,0],[1,4]);

>>g0=tf(ng0,dg0);

>>[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);>>gc=tf(ngc,dgc)

>>g0c=tf(KK*g0*gc);

>>b1=feedback(k*g0,1);

>>b2=feedback(g0c,1);

>>step(b1,'r--',b2,'b');gridon

3M文件:

function[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a)ngv=polyval(ng0,s1);dgv=polyval(dg0,s1);g=dgv/ngv;

k=abs(g);%期望主导极点处的根轨迹增益

beta=k/KK;

[kosi1,wn1]=s2kw(s1);

zc=-wn1*sin(a*pi/180)/sin(pi-atan(sqrt(1-kosi1A2)/kosi1)-(a*pi/180));

%利用正弦定理

pc=beta*zc;ngc=beta*[1,-zc];dgc=[1,-pc];

主程序:

>>KK=128;s1=-2+i*2*sqrt(3);a=2>>ng0=[10];dg0=conv([1,0],conv([1,2],[1,8]));

>>g0=tf(ng0,dg0);

>>[ngc,dgc,k]=rg_lag(ng0,dg0,KK,s1,a);

>>gc=tf(ngc,dgc)

>>g0c=tf(KK*g0*gc);

>>rlocus(g0,g0c);

>>b1=feedback(k*g0,1);

>>b2=feedback(g0c,1);

>>figure,step(b1,'r--',b2,'b');gridon

4M文件:

function[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w)

[mu,pu]=bode(KK*ng0,dg0,w);[gm,pm,wcg,wcp]=margin(mu,pu,w);

alf=ceil(Pm-pm+5);phi=(alf)*pi/180;

a=(1+sin(phi))/(1-sin(phi)),dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm),T=1/(wgc*sqrt(a)),ngc=[a*T,1];dgc=[T,1];

主程序:

>>ng0=[1];dg0=conv([1,0,0],[1,5]);

>>g0=tf(ng0,dg0);

>>w=logspace(-3,3);

>>KK=1;Pm=50;

>>[ngc,dgc]=lead4(ng0,dg0,KK,Pm,w);

>>gc=tf(ngc,dgc);g0c=tf(KK*g0*gc);

>>bode(KK*g0,w);holdon,bode(g0c,w);gridon,holdoff

>>[gm,pm,wcg,wcp]=margin(g0c)>>Kg=20*log10(gm)>>g1=feedback(g0c,1);

>>bode(g1),gridon,>>[mag,phase,w]=bode(g1);>>a=find(mag<=0.707*mag

(1));>>wb=w(a

(1))>>max(mag)>>b=find(mag==max(mag))>>wr=w(b)

5

[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)

%计算原系统的对数频率响应数据

%求取原系统的相角裕度和剪切频

M文件:

function[mu,pu]=bode(ng0,dg0,w);[gm,pm,wcg,wcp]=margin(mu,pu,w);率

%计算控制器提供的最大超前角

%将最大超前角转换为弧度单位

灿算a值

%系统的对数幅值

%w处的控制器对数幅值

%差值求取wm认为wm=wc

%+算T

alf=ceil(Pm-pm+5);

度,

phi=(alf)*pi/180;a=(1+sin(phi))/(1-sin(phi));dbmu=20*log10(mu);mm=-10*log10(a);wgc=spline(dbmu,w,mm);T=1/(wgc*sqrt(a));

ngc=[a*T,1];dgc=[T,1];主程序:

>>KK=40;Pm=50;

>>ng0=KK*[1];dg0=conv([1,0],conv([1,1],[1,4]));>>g0=tf(ng0,dg0);

>>w=logspace(-2,4);>>[ngc,dgc]=fg_lead_pm(ng0,dg0,Pm,w)>>gc=tf(ngc,dgc),g0c=tf(g0*gc);

on,

>>b1=feedback(g0,1);b2=feedback(g0c,1);>>step(b1,'r--',b2,'b');gridon>>figure,bode(g0,'r--',g0c,'b',w),grid>>[gm,pm,wcg,wcp]=margin(g0c),Km=20*log10(gm)

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2