MATLAB 实验四报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 ω
ξ