计算机控制仿真实验线性控制系统的时域响应分析.docx
《计算机控制仿真实验线性控制系统的时域响应分析.docx》由会员分享,可在线阅读,更多相关《计算机控制仿真实验线性控制系统的时域响应分析.docx(15页珍藏版)》请在冰点文库上搜索。
计算机控制仿真实验线性控制系统的时域响应分析
实验四线性控制系统的时域响应分析
一、实验目的
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=[1425];
t=0:
0.1:
10;
[y,x,t]=step(num,den,t);
plot(t,y),gridon
M=((max(y)-1)/1)*100;
disp(['×î´ó³¬µ÷Á¿M='num2str(M)'%'])
finalvalue=polyval(num,0)/polyval(den,0);
len=1;
while(y(len)<1*finalvalue)
len=len+1;
end
tr=t(len);
disp(['ÉÏÉýʱ¼ätp='num2str(tr)])
len=length(t);
while(y(len)>0.98*finalvalue)&(y(len)<1.02*finalvalue)
len=len-1;
end
ts=t(len);
disp(['¹ý¶Éʱ¼äts='num2str(ts)])
运行结果:
最大超调量M=25.3177%
上升时间tr=0.5
过渡时间ts=1.6
图像:
方法二:
直接从图像上求取超调量、上升时间和过渡时间
程序:
num=25;
den=[1425];
t=0:
0.1:
10;
step(num,den,t)
gridon
结果如下:
最大超调量:
25.3%
上升时间:
0.297s
峰值时间:
0.7s
过渡时间:
1.68s
图像如图所示:
练习4-2.已知系统的开环传递函数为:
求出该系统在单位负反馈下的阶跃响应曲线,记录超调量、上升时间、过渡过程时间。
程序如下:
num0=20;
den0=[1836400];
[numden]=cloop(num0,den0);
t=0:
0.1:
10;
step(num,den,t)
gridon
由上图可知结果如下:
最大超调量:
2.55%
上升时间:
2.65s
过渡时间:
6.73s.
练习4-3已知系统的传递函数为:
+
——
1求系统的阶跃响应;
2阶跃响应曲线线型用“*”号表示;
阶跃响应图应加上横坐标名、纵坐标名和标题名,并加上网格线。
程序如下:
num0=conv(6.3233,conv([1,1.4235],[1,1.4235]));
den0=conv([1,0],conv([1,0],conv([1,1],[1,5])));
[numden]=cloop(num0,den0,1)
t=0:
0.1:
15;
[y,x,t]=step(num,den,t);
plot(t,y,'*')
gridon
xlabel('x')
ylabel('y')
title('½×Ô¾ÏàÓ¦')
运行结果如下
如图所给系统为单位正反馈系统
练习4-4求T1、T2、T3系统的阶跃响应;
1将T1、T2、T3系统的阶跃响应图画在同一窗口内;
2T1、T2、T3系统的阶跃响应曲线分别用不同的线形和颜色表示;
3将‘T1、T2、T3’分别标注在对应的曲线上。
程序如下:
num1=2;den1=[122];
num2=[42];den2=[122];
num3=1;den3=[2331];
figure
(1);holdon
t=0:
0.1:
5;
[y1,x1,t]=step(num1,den1,t);
[y2,x2,t]=step(num2,den2,t);
[y3,x3,t]=step(num3,den3,t);
plot(t,y1,'b-+',t,y2,'g-*',t,y3,'r-o');
holdoff
legend('T1','T2','T3',3)
text(2,1.5,'T2');
text(2,0.8,'T1');
text(3,0.41,'T3');
title('T1¡¢T2¡¢T3ϵͳµÄ½×Ô¾ÏìÓ¦');
xlabel('ʱ¼ä');ylabel('½×Ô¾ÏìÓ¦');
gridon
练习4-5一个系统的状态空间描述如下:
①
求出G(S)=Y(S)/U(S);
A=[-1-1;6.50];
B=[11;10];
C=[10;01];
D=zeros(2,2);
[num,den]=ss2tf(A,B,C,D,1);
disp('G(s)=')
printsys(num,den)
结果:
>>li4_5
G(s)=
num
(1)/den=
1s-1
---------------
s^2+1s+6.5
num
(2)/den=
s+7.5
---------------
s^2+1s+6.5
②绘制该状态方程的单位阶跃响应曲线。
A=[-1-1;6.50];
B=[11;10];
C=[10;01];
D=zeros(2,2);
step(A,B,C,D,1);
练习4-6典型二阶欠阻尼系统的传递函数为:
极点位置:
式中:
1ωa=1,σ=0.5,1,5,求阶跃响应;
wa=1;sigma=[0.51.5];
figure
(1);holdon
fori=sigma
num=wa^2+i^2;
den=[12*iwa^2+i^2]
step(num,den)
end
title('µ¥Î»½×Ô¾ÏìÓ¦');
legend('\sigma=0.5','\sigma=1.5')
holdoff
2σ=1,ωa=0.5,1,5,求阶跃响应;
sigma=1;
wa=[0.51.5];
figure
(1);holdon
fori=wa
num=sigma^2+i^2;
den=[12*sigmasigma^2+i^2];
step(num,den)
end
holdoff
legend('wa=0.5','wa=1.5')
title('µ¥Î»½×Ô¾ÏìÓ¦')
③设:
求阶跃响应;
k=sqrt
(2);
zeta=1/k;
w=[k/2k5/k];
figure
(1);holdon
forwn=w
num=wn.^2;
den=[12*zeta*wnwn.^2];
step(num,den);
end
holdoff
legend('wn=¡Ì2/2','wn=¡Ì2','wn=5/¡Ì2')
3
求阶跃响应;
wn=sqrt
(2);
pi=3.1415926535;
theta=[pi/6pi/4pi/3];
zeta=cos(theta);
figure
(1);holdon
fori=zeta
num=wn^2;
den=[12*wn*iwn^2];
step(num,den)
end
holdoff
legend('\theta=30¡ã','\theta=45¡ã','\theta=60¡ã')
⑤阶跃响应对应的时间:
t=0至t=10,分析参数变化(增加、减少与不变)对阶跃响应的影响。
答:
(1)当阻尼震荡频率wa一定时,随着衰减系数σ的增大,峰值时间tp肯上升时间tr降低,系统响应加快,到达稳定时间减少,而且超调量Mp减小。
(2)当衰减系数σ一定时,随着阻尼震荡频率wa的增大,峰值时间tp和上升时间tr上升,系统响应变慢,到达稳定时间上升,而且超调量Mp增大。
(3)当阻尼系数一定时,随着自然角频率wn的增大,峰值时间tp和上升时间tr降低,系统响应加快,到达稳定时间减少,而且超调量Mp不变。
(4)当自然角频率wn一定时,随着阻尼角的增大(即阻尼系数的减小),峰值时间tp和上升时间tr上升,系统响应变慢,到达稳定时间上升,而且超调量Mp增大。
三、实验总结
本次实习的主要内容是线性控制系统的时域响应分析,经过这次实习,我学会了如何在MATLAB中进行一个系统的时域分析,画出它们在阶跃响应下的图形等。
也同时掌握了对二阶震荡系统的分析,掌握了其基本规律。
本次实习还复习MATLAB画图的基本命令,对画图的基本操作更加熟练。
虽然在实验中碰到了一些问题,但在老师的指导以及和同学的互相讨论下,最终很好地完成了此次实验,同时也对理论知识进行了查漏补缺,又掌握了许多新知识。