MATLAB 实验四报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四 线性控制系统的时域响应分析

一、 实验目的

1.熟悉MATLAB 有关命令的用法;

2.用MATLAB 系统命令对给定系统进行时域分析;

二、实验内容

求连续系统的单位阶跃响应有关命令的用法:

命令格式:

[y,x,t]=step(num, den)

[y,x,t]=step(num, den, t)

[y,x,t]=step(A,B,C,D)

[y,x,t]=step(A,B,C,D,iu)

[y,x,t]=step(A,B,C,D,iu,t)

练习4-1. 给定系统的传递函数如下: 求该系统的阶跃响应曲线,记录超调量、上升时间、过渡过程时间。

结果:

num=[25];

den=[1 4 25];

step(num,den)

grid

练习4-2. 已知系统的开环传递函数为:

求出该系统在单位负反馈下的阶跃响应曲线,记录超调量、上升时间、过渡过程时间。 结果:

num=[20];

s

s s s s G 4036820

)(234+++=25

425)()(2++=S S S R S C

+

den=[1 8 36 40 0];

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

step(numc,denc)

练习4-3 已知系统的传递函数为:

①求系统的阶跃响应;

②阶跃响应曲线线型用“*”号表示;

③阶跃响应图应加上横坐标名、纵坐标名和标题名,并加上网格线。

结果:

G1=tf([6.3233 6.3233*2*1.4235 1.4235*1.4235*6.3233 ],[1 0]);

G2=tf([1],[1 1 10 0]);

sys1=series(G1,G2);

sys=feedback(sys1,-1);

[y,t,x]=step(sys)

plot(t,y,'*');

xlabel('time');

ylabel('y');

title('响应');

grid

练习4-4 求T1、T2、T3系统的阶跃响应;

①将 T1、T2、T3系统的阶跃响应图画在同一窗口内;

②T1、T2、T3系统的阶跃响应曲线分别用不同的线形和颜色表示;

③将‘T1、T2、T3’分别标注在对应的曲线上。 s s 2)4235.1(3233.6+ )

5)(1(1++s s s

结果:

G1=tf(2,[1 2 2] );

G2=tf([4 2],[ 1 2 2]);

G3=tf(1,[2 3 3 1]);

[y1,t,x]=step(G1)

[y2,t,x]=step(G2)

[y3,t,x]=step(G3)

plot(t,y1,'r+',t,y2,'g*',t,y3,'b*')

gtext('T1')

gtext('T2')

gtext('T3')

grid

练习4-5 一个系统的状态空间描述如下:

①求出 G (S )= Y (S )/U (S );

②绘制该状态方程的单位阶跃响应曲线。

结果:

a=[-1,-1;6.5,0];

b=[1,1;1,0];

c=[1,0;0,1];

d=[0,0;0,0];

step(a,b,c,d)

step(a,b,c,d)

练习4-6典型二阶欠阻尼系统的传递函数为:

极点位置:

1

3321

222

4222

2332221+++=+++=++=s s s T s s s T s s T ⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣

⎡=⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡+⎥⎥⎦⎤⎢⎢⎣⎡⎥⎦⎤⎢⎣⎡--=⎥⎥⎦

⎤⎢⎢⎣⎡2121212121.2.100001001011105.611u u x x y y u u x x x x

)

(2)(2)(22222222σωσσωωξωω++++=++=a a n n n s s s s S G a

j S ωσ±-

=

式中:

①设ωa=1, σ=0.5,1,5 ,求阶跃响应;

结果:

w1=1;

q=[0.5,1,5];

for j=1:3

num=w1^2+q(j)^2; den=[1 2*q(j) w1^2+q(j)^2];

s1=tf(num,den);

step(s1); hold on

end

gtext('q=0.5');

gtext('q=1');

gtext('q=5');

②设σ=1 , ωa=0.5,1,5 ,求阶跃响应;

结果:

w1=[0.5,1,5];

q=1;

for j=1:3

num=w1(j)^2+q^2;

den=[1 2*q w1(j)^2+q^2];

s1=tf(num,den);

step(s1); hold on

end

gtext('w1=0.5');

gtext('w1=1');

gtext('w1=5');

③设:

求阶跃响应;

结果:

a=1/sqrt(2);

b=[sqrt(2)/2,sqrt(2),5/sqrt(2)];

for j=1:3

num=b(j)^2;

)

cos(;1;2

θξξωωξωσ=-==n a n 2

5,2,22,2

1==n ω

ξ

相关文档
最新文档