计算机控制仿真实验线性控制系统的时域响应分析Word文档下载推荐.docx
《计算机控制仿真实验线性控制系统的时域响应分析Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《计算机控制仿真实验线性控制系统的时域响应分析Word文档下载推荐.docx(15页珍藏版)》请在冰点文库上搜索。
![计算机控制仿真实验线性控制系统的时域响应分析Word文档下载推荐.docx](https://file1.bingdoc.com/fileroot1/2023-5/10/80077601-5ec2-44e1-b61c-137ad8b227f0/80077601-5ec2-44e1-b61c-137ad8b227f01.gif)
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);
É
Ï
ý
Ê
±
¼
ä
tp='
num2str(tr)])
len=length(t);
while(y(len)>
0.98*finalvalue)&
(y(len)<
1.02*finalvalue)
len=len-1;
ts=t(len);
¹
¶
ts='
num2str(ts)])
运行结果:
最大超调量M=25.3177%
上升时间tr=0.5
过渡时间ts=1.6
图像:
方法二:
直接从图像上求取超调量、上升时间和过渡时间
程序:
step(num,den,t)
gridon
结果如下:
最大超调量:
25.3%
上升时间:
0.297s
峰值时间:
0.7s
过渡时间:
1.68s
图像如图所示:
练习4-2.已知系统的开环传递函数为:
求出该系统在单位负反馈下的阶跃响应曲线,记录超调量、上升时间、过渡过程时间。
num0=20;
den0=[1836400];
[numden]=cloop(num0,den0);
由上图可知结果如下:
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)
15;
plot(t,y,'
*'
)
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
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,'
text(2,0.8,'
text(3,0.41,'
T1¡
¢
T2¡
T3Ï
Í
Ä
½
ì
'
练习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
②绘制该状态方程的单位阶跃响应曲线。
step(A,B,C,D,1);
练习4-6典型二阶欠阻尼系统的传递函数为:
极点位置:
式中:
1ωa=1,σ=0.5,1,5,求阶跃响应;
wa=1;
sigma=[0.51.5];
fori=sigma
num=wa^2+i^2;
den=[12*iwa^2+i^2]
step(num,den)
¥
Î
»
\sigma=0.5'
\sigma=1.5'
2σ=1,ωa=0.5,1,5,求阶跃响应;
sigma=1;
wa=[0.51.5];
fori=wa
num=sigma^2+i^2;
den=[12*sigmasigma^2+i^2];
wa=0.5'
wa=1.5'
③设:
求阶跃响应;
k=sqrt
(2);
zeta=1/k;
w=[k/2k5/k];
forwn=w
num=wn.^2;
den=[12*zeta*wnwn.^2];
step(num,den);
wn=¡
Ì
2/2'
2'
wn=5/¡
3
wn=sqrt
(2);
pi=3.1415926535;
theta=[pi/6pi/4pi/3];
zeta=cos(theta);
fori=zeta
num=wn^2;
den=[12*wn*iwn^2];
\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画图的基本命令,对画图的基本操作更加熟练。
虽然在实验中碰到了一些问题,但在老师的指导以及和同学的互相讨论下,最终很好地完成了此次实验,同时也对理论知识进行了查漏补缺,又掌握了许多新知识。