Matlab与控制系统仿真部分习题答案.docx

上传人:b****6 文档编号:8759234 上传时间:2023-05-14 格式:DOCX 页数:29 大小:108.76KB
下载 相关 举报
Matlab与控制系统仿真部分习题答案.docx_第1页
第1页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第2页
第2页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第3页
第3页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第4页
第4页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第5页
第5页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第6页
第6页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第7页
第7页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第8页
第8页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第9页
第9页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第10页
第10页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第11页
第11页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第12页
第12页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第13页
第13页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第14页
第14页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第15页
第15页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第16页
第16页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第17页
第17页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第18页
第18页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第19页
第19页 / 共29页
Matlab与控制系统仿真部分习题答案.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Matlab与控制系统仿真部分习题答案.docx

《Matlab与控制系统仿真部分习题答案.docx》由会员分享,可在线阅读,更多相关《Matlab与控制系统仿真部分习题答案.docx(29页珍藏版)》请在冰点文库上搜索。

Matlab与控制系统仿真部分习题答案.docx

Matlab与控制系统仿真部分习题答案

【4.2】程序:

num=[5,0];den=conv([1,1],conv([1,2],[1,3]));

[numc,denc]=cloop(num,den);

[z,p,k]=tf2zp(numc,denc);

[A,B,C,D]=tf2ss(numc,denc);

g_zp=zpk(z,p,k)

g_tf=tf(numc,denc)

g_ss=ss(A,B,C,D)

运行结果:

Zero/pole/gain:

5s

----------------------------------

(s+0.4432)(s^2+5.557s+13.54)

Transferfunction:

5s

----------------------

s^3+6s^2+16s+6

a=

x1x2x3

x1-6-16-6

x2100

x3010

b=

u1

x11

x20

x30

c=

x1x2x3

y1050

d=

u1

y10

【4.3】程序:

A=[000-1;100-2;010-3;001-4];

B=[0;0;0;1];

C=[1000];

g_ss=ss(A,B,C,D)

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

g_tf=tf(num,den)

[z,p,k]=ss2zp(A,B,C,D);

g_zpk=zpk(z,p,k)

运行结果:

a=

x1x2x3x4

x1000-1

x2100-2

x3010-3

x4001-4

b=

u1

x10

x20

x30

x41

c=

x1x2x3x4

y11000

d=

u1

y10

Continuous-timemodel.

Transferfunction:

-3.109e-015s^3-s^2-3.331e-015s-4.441e-016

-------------------------------------------------

s^4+4s^3+3s^2+2s+1

Zero/pole/gain:

-s^2

----------------------------------------------

(s+0.6724)(s+3.234)(s^2+0.0936s+0.4599)

【5.1】

(1)程序

num=[0,10];

den=conv([1,0],[1,7,17]);

[numc,denc]=cloop(num,den,-1);

G=tf(numc,denc)

[y,t]=step(G);

plot(t,y,'b-')

C=dcgain(G);

n=1;

whiley(n)<0.1*C

n=n+1;

end

m=1;

whiley(m)<0.9*C

m=m+1;

end

risetime=t(m)-t(n)

[Y,k]=max(y);

percentovershoot=100*(Y-C)/C

i=length(t);

while(y(i)>0.98*C)&(y(i)<1.02*C)

i=i-1;

end

settlingtime=t(i)

运行结果:

Transferfunction:

10

-----------------------

s^3+7s^2+17s+10

risetime=

2.7312

 

percentovershoot=

-0.4399

 

settlingtime=

5.1372

图:

(2)程序

k=[10,100,1000];

t=linspace(1,20,200);

num=1;

den=conv([1,0],[1,7,17]);

forj=1:

3;

s1=tf(num*k(j),den);

sys=feedback(s1,1)

y(:

j)=step(sys,t);

end

plot(t,y(:

1),'r',t,y(:

2),'b',t,y(:

3),'g')

gtext('k=10');gtext('k=100');gtext('k=1000')

运行结果:

Transferfunction:

10

-----------------------

s^3+7s^2+17s+10

Transferfunction:

100

------------------------

s^3+7s^2+17s+100

Transferfunction:

1000

-------------------------

s^3+7s^2+17s+1000

图:

图:

【6.1】程序:

(1)

num1=[1,1];

den1=conv([1,0,0],conv([1,2],[1,4]));

sys1=tf(num1,den1)

rlocus(sys1)

运行结果:

(2)

num2=[1,1];

den2=conv([1,0],conv([1,-1],[1,4,16]));

sys2=tf(num2,den2)

rlocus(sys2)

运行结果:

 

(3)

num3=[1,8];

den3=conv([1,0,0],conv([1,3],conv([1,5],conv([1,7],[1,15]))));

sys3=tf(num3,den3)

rlocus(sys3)

运行结果:

【6.3】

程序:

num=[1,2];

den=conv([1,0],conv([1,4],conv([1,8],[1,2,5])));

sys=tf(num,den)

rlocus(sys)

[k,poles]=rlocfind(sys)

运行结果:

Transferfunction:

s+2

---------------------------------------

s^5+14s^4+61s^3+124s^2+160s

Selectapointinthegraphicswindow

selected_point=

0.0296+2.2826i

 

k=

135.8815

 

poles=

-7.3248

-5.4104

0.0145+2.3021i

0.0145-2.3021i

-1.2939

图:

【7.3】

程序

(1)画波特图

num=[50];

den=conv([1,0],conv([1,10],[3,1]));

sys=tf(num,den)

sys1=feedback(sys,1)

bode(sys)

grid

(1)

程序

(2)

画奈奎斯特图

num=[50];

den=conv([1,0],conv([1,10],[3,1]));

sys=tf(num,den)

sys1=feedback(sys,1)

nyquist(sys)

grid

(2)

程序(3)画零极点图

num=[50];

den=conv([1,0],conv([1,10],[3,1]));

sys=tf(num,den)

sys1=feedback(sys,1)

pzmap(sys1)

gird

图(3)

程序(4)

计算相角裕量和幅值裕量

num=[50];

den=conv([1,0],conv([1,10],[3,1]));

sys=tf(num,den)

sys1=feedback(sys,1)

[gm,pm,wcg,wcp]=margin(sys)

运行结果

Transferfunction:

50

---------------------

3s^3+31s^2+10s

Transferfunction:

50

--------------------------

3s^3+31s^2+10s+50

gm=

2.0667

 

pm=

7.5615

 

wcg=

1.8257

 

wcp=

1.2645

程序(5)

绘制阶跃响应曲线

num=[50];

den=conv([1,0],conv([1,10],[3,1]));

sys=tf(num,den)

sys1=feedback(sys,1)

step(sys1)

图(5)

【7.4】

程序如下:

num=[300];

den=conv([1,0,0],conv([0.2,1],[0.02,1]));

sys=tf(num,den)

margin(sys)

grid

波特图如下:

【9.3】程序:

A=[-22-1;0-20;1-40];

B=[0;0;1];

C=[1,0,0];

D=0;

M=ctrb(A,B)

m=rank(M)

ifm==3;

disp('系统可控')

else

disp('系统不可控')

end

N=obsv(A,C)

n=rank(N)

ifn==3;

disp('系统可观')

else

disp('系统不可观')

end

sys=ss(A,B,C,D)

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

sys1=tf(num,den)

[z,p,k]=ss2zp(A,B,C,D)

运行结果:

M=

0-12

000

10-1

 

m=

2

系统不可控

N=

100

-22-1

3-42

 

n=

2

系统不可观

a=

x1x2x3

x1-22-1

x20-20

x31-40

b=

u1

x10

x20

x31

c=

x1x2x3

y1100

d=

u1

y10

Continuous-timemodel.

num=

00-1-2

 

den=

1452

Transferfunction:

-s-2

---------------------

s^3+4s^2+5s+2

z=

-2

 

p=

-1

-1

-2

 

k=-1

图形:

【10.1】

(1)程序:

A=[0,1,0,0;0,5,0,0;0,0,-7,0;0,0,0,-8];

B=[0;1;0;1];

C=[1,2,3,4];

D=zeros(1,1);

G_ss=ss(A,B,C,D)

运行结果:

a=

x1x2x3x4

x10100

x20500

x300-70

x4000-8

b=

u1

x10

x21

x30

x41

c=

x1x2x3x4

y11234

d=

u1

y10

(2):

程序:

[num1,den1]=ss2tf(A,B,C,D);

p=roots(den1)

i=0;

fork=1:

1:

length(p)

ifreal(p(k))>0

i=i+1;

end

end

ifi>0

disp('系统不稳定');

else

disp('系统稳定');

end

运行结果:

p=

0

5.0000

-8.0000

-7.0000

系统不稳定

(3)(4)程序:

AA=[0,1,0;0,5,0;0,0,-8];

BB=[0;1;1];

P=[-1,-2,-8];

K=acker(AA,BB,P);

i=4;

K(4)=0;

K

pp=eig(A-B*K)

sys1=tf(num1,den1);

[y1,t]=step(sys1);

plot(t,y1)

holdon

A_feedback=A-B*K;

[num2,den2]=ss2tf(A_feedback,B,C,D);

sys2=tf(num2,den2);

[y2,t]=step(sys2);

plot(t,y2,'r')

grid

gtext('反馈前')

gtext('反馈后')

运行结果:

K=

2800

 

pp=

-8

-2

-1

-7

图形:

【13.1】程序:

A=[0,1;0,0];

B=[0;1];

C=[1,0];

D=zeros(1,1);

G_ss=ss(A,B,C,D)

M=ctrb(A,B);

ifrank(M)==2

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

else

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

end

S=[1,0];

N=obsv(A,S);

ifrank(N)==2

disp('(A,S)可观测');

else

disp('(A,S)不可观测');

end

R=1;

Q=[1,0;0,0];

[K,P,E]=Lqr(A,B,Q,R)

A_new=A-B*K;

G_new=ss(A_new,B,C,D);

t=linspace(0,5,100)';

y1=step(G_ss,t);

y2=step(G_new,t);

plot(t,y1,'r:

',t,y2,'b-')

grid

gtext('反馈前')

gtext('反馈后')

运行结果:

a=

x1x2

x101

x200

b=

u1

x10

x21

c=

x1x2

y110

d=

u1

y10

Continuous-timemodel.

系统完全能控

(A,S)可观测

K=

1.00001.4142

 

P=

1.41421.0000

1.00001.4142

 

E=

-0.7071+0.7071i

-0.7071-0.7071i

图形:

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

当前位置:首页 > 自然科学 > 物理

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

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