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

2021-09-24 13:11

【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: 5 s ---------------------------------- (s+0.4432) (s^2 + 5.557s + 13.54)

Transfer function: 5 s ---------------------- s^3 + 6 s^2 + 16 s + 6 a =

x1 x2 x3 x1 -6 -16 -6 x2 1 0 0 x3 0 1 0 b = u1

x1 1 x2 0 x3 0 c =

x1 x2 x3 y1 0 5 0 d = u1 y1 0

【4.3】程序:

A=[0 0 0 -1;1 0 0 -2;0 1 0 -3;0 0 1 -4]; B=[0;0;0;1]; C=[1 0 0 0]; 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 =

x1 x2 x3 x4 x1 0 0 0 -1 x2 1 0 0 -2 x3 0 1 0 -3 x4 0 0 1 -4

b = u1 x1 0 x2 0 x3 0 x4 1 c =

x1 x2 x3 x4 y1 1 0 0 0 d = u1 y1 0

Continuous-time model.

Transfer function:

-3.109e-015 s^3 - s^2 - 3.331e-015 s - 4.441e-016 ------------------------------------------------- s^4 + 4 s^3 + 3 s^2 + 2 s + 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;

while y(n)<0.1*C n=n+1; end m=1;

while y(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) 运行结果: Transfer function: 10 ----------------------- s^3 + 7 s^2 + 17 s + 10

risetime =

2.7312

percentovershoot =

-0.4399

settlingtime =

5.1372 图

1000000000

00

1

2

3

4

5

67

:

(2) 程序 k=[10,100,1000]; t=linspace(1,20,200); num=1;

den=conv([1,0],[1,7,17]); for j=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') 运行结果: Transfer function: 10 ----------------------- s^3 + 7 s^2 + 17 s + 10

Transfer function: 100 ------------------------ s^3 + 7 s^2 + 17 s + 100

Transfer function: 1000 ------------------------- s^3 + 7 s^2 + 17 s + 1000

图:

1.81.6

1.41.210.80.60.40.2

02468101214161820

图:

4

22

3

2

1

-1

-2

-3

02468101214161820

【6.1】程序: (1) num1=[1,1];

den1=conv([1,0,0],conv([1,2],[1,4])); sys1=tf(num1,den1) rlocus(sys1) 运行结果:

Root Locus

8

6

4

2

Imaginary Axis

-2

-4

-6

-8-12

-10-8-6-4Real Axis

-2024

(2) num2=[1,1];

den2=conv([1,0],conv([1,-1],[1,4,16])); sys2=tf(num2,den2) rlocus(sys2) 运行结果:

Root Locus

8

6

4

2

Imaginary Axis

-2

-4

-6

-8-10

-8-6-4

Real Axis

-2024

(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) 运行结果:

Root Locus

20

15

10

5

Imaginary Axis

-5

-10

-15

-20-30

-25-20-15-10-5051015

Real Axis

【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) 运行结果:

Transfer function: s + 2 --------------------------------------- s^5 + 14 s^4 + 61 s^3 + 124 s^2 + 160 s

Select a point in the graphics window

selected_point =

0.0296 + 2.2826i k =

135.8815 poles =

-7.3248 -5.4104 0.0145 + 2.3021i 0.0145 - 2.3021i -1.2939 图:

Root Locus

15

10

5

Imaginary Axis

-5

-10

-15-20

-15-10-5

Real Axis

051015

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

Bode Diagram

10050

Magnitude (dB

)Phase (deg)

0-50-100-150-90-135

-180-225-270

10

-2

10

-1

10

10

1

10

2

10

3

Frequency (rad/sec)

程序(2) 画奈奎斯特图 num=[50];

den=conv([1,0],conv([1,10],[3,1])); sys=tf(num,den) sys1=feedback(sys,1) nyquist(sys) grid 图(2)

Nyquist Diagram

300

200

100

Imaginary Axis

-100

-200

Matlab与控制系统仿真部分习题答案.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:材料采购成本计算

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: