自动控制实验matlab.docx
- 文档编号:1488023
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:9
- 大小:102.79KB
自动控制实验matlab.docx
《自动控制实验matlab.docx》由会员分享,可在线阅读,更多相关《自动控制实验matlab.docx(9页珍藏版)》请在冰豆网上搜索。
自动控制实验matlab
实验报告
课程名称:
自动控制原理
实验名称:
基于MATLAB的线性系统的时域分析
院(系):
电子科学与工程学院专业:
电子科学与技术
姓名:
学号:
同组人员:
实验时间:
2013.11.15
评定成绩:
审阅教师:
一、实验目的
1.观察学习控制系统的时域(阶跃、脉冲、斜坡)响应。
2.记录时域响应曲线,给出时域指标。
3.掌握时域响应分析的一般方法。
二、实验内容
1、二阶系统为10/();计算系统的闭环根、阻尼比、无阻尼振荡频率并做记录。
计算实际测取的峰值大小Cmax(tp)、峰值时间tp、过渡时间ts并与理论值比较。
2、试作出以下系统的阶跃响应,并比较与原系统响应曲线的差别与特点,做出相应的实验分析结果。
(a)H1(s)=(2s+1)/(),有系统零点情况。
(b)H2(s)=()/,分子、分母多项式阶数相等。
(c)H3(s)=s/,分子多项式零次项系数为零。
3、已知单位反馈开环系统传递函数
输入分别为r(t)=2t和时,系统的响应曲线,分析稳态值与系统输入函数的关系
三、实验原理分析和代码
实验1
实验要求计算系统的闭环根、阻尼比、无阻尼振荡频率。
系统的闭环根利用Matlab的解方程命令即可求出,根据阻尼比和无阻尼振荡频率的定义,对照表达式,就可以得到,也能利用Matlab相应命令得到。
实际测取的峰值大小、峰值时间、过渡时间可以分别由Matlab相关命令得到。
理论的峰值大小、峰值时间和过渡时间由课本上给出的公式Cmax(tp)=1+,,±2%误差宽度时的过渡时间分别计算出来。
Matlab代码如下:
clc;
clear;
num=[10];
den=[1,2,10];
r=roots(den)%闭环根
[w,z]=damp(den)%w为无阻尼震荡频率,z是阻尼比
[y,x,t]=step(num,den);
finalvalue=dcgain(num,den);%稳态值
[Cmax,n]=max(y);%峰值
Cmax
tp=t(n)%峰值时间
k=length(t);%以下几行求过渡时间
while(y(k)>0.98*finalvalue)&&(y(k)<1.02*finalvalue)
k=k-1;
end
t(k)
实验2
实验要求做出三个系统的阶跃响应,直接利用Matlab的相关命令构造系统并且作图即可。
Matlab代码如下:
clear;
clc;
b=[1,2,10];
a1=10;
a2=[2,1];
a3=[1,0,0.5];
a4=[1,0];
[y1,x1,t1]=step(a1,b);%构造系统
[y2,x2,t2]=step(a2,b);
[y3,x3,t3]=step(a3,b);
[y4,x4,t4]=step(a4,b);
subplot(2,2,1);%画图
plot(t1,y1);title('原系统阶跃响应');xlabel('时间');ylabel('幅值');
subplot(2,2,2);
plot(t2,y2);title('一系统阶跃响应');xlabel('时间');ylabel('幅值');
subplot(2,2,3);
plot(t3,y3);title('二系统阶跃响应');xlabel('时间');ylabel('幅值');
subplot(2,2,4);
plot(t4,y4);title('三系统阶跃响应');xlabel('时间');ylabel('幅值');
实验3
实验已知单位反馈开环系统传递函数,要求作出给定输入下的系统响应函数。
首先将开环传递函数转换为闭环传递函数,然后构造系统,利用Matlab里的lsim命令就能作出相应输入下的响应曲线了。
Matlab代码如下:
clear;
clc;
b1=[100];
a1=[0.1,1.5,105];
sys1=tf(b1,a1);%构造闭环系统1
b2=[50];
a2=[0.1,1.5,5,50];
sys2=tf(b2,a2);%构造闭环系统2
b3=[20,10];
a3=[1,6,100,20,10];
sys3=tf(b3,a3);%构造闭环系统3
t=0:
0.05:
50;
e1=[2.*t];%构造激励1
e2=[t.*t+2.*t+2];%构造激励2
subplot(2,1,1);lsim(sys1,e1,t);title('0型系统,斜坡信号');xlabel('时间');ylabel('幅值');
subplot(2,1,2);lsim(sys1,e2,t);title('0型系统,加速度信号');xlabel('时间');ylabel('幅值');
%subplot(2,1,1);lsim(sys2,e1,t);title('1型系统,斜坡信号');xlabel('时间');ylabel('幅值');
%subplot(2,1,2);lsim(sys2,e2,t);title('1型系统,加速度信号');xlabel('时间');ylabel('幅值');
%subplot(2,1,1);lsim(sys3,e1,t);title('2型系统,斜坡信号');xlabel('时间');ylabel('幅值');
%subplot(2,1,2);lsim(sys3,e2,t);title('2型系统,加速度信号');xlabel('时间');ylabel('幅值');
四、实验结果和分析
实验1:
Matlab的输出结果为:
r=
-1.0000+3.0000i
-1.0000-3.0000i
w=
3.1623
3.1623
z=
0.3162
0.3162
Cmax=
1.3509
tp=
1.0492
ts=
3.5147
理论计算数据:
闭环根r=-1+3i,-1-3i
无阻尼振荡频率ξ=0.3162
峰值大小Cmax(tp)=1+=1.351
峰值时间=1.047
过渡时间=4
理论与实际比较如下表:
实验值
理论值
误差
峰值大小Cmax()
1.351
1.351
0%
峰值时间
1.049s
1.047s
0.19%
过渡时间
3.515s
4.000s
12.1%
通过比较可知,峰值大小和峰值时间实验值和理论值误差很小,但是过渡时间的理论值和实际值相差却很大,原因是计算理论值用的公式仅仅是近似公式而已,影响过渡时间的各个变量、各种因素比较多,实际的值的计算要复杂的多,仅仅采用包络线的方法有时会带来较大的误差。
实验2
实验结果如图:
一系统的稳态值为0.1,与原系统相比,增加了系统零点之后,调节时间减少了,说明系统响应加快了,但是超调量达到了400%左右,说明系统稳定系下降了很多。
二系统的稳态值为0.05,因为系统分子、分母多项式阶数相等,分解因式后会出现一个常数项,常数项对阶跃函数的响应还是阶跃函数,所以系统在初始状态时也有一个阶跃。
另外系统调节时间更少了,但是稳定性也更差了。
三系统分子多项式常数项为零,根据终值定理,系统稳态值为零。
实验3
实验结果如图:
根据课本上不同系统对不同响应的误差分析
r(t)=1
r(t)=t
r(t)=
0型系统
Ⅰ型系统
Ⅱ型系统
可以计算相应的稳态误差值
K0
r(t)=2t稳态误差
r(t)=2+2t+稳态误差
20
10
=0.2
0.1
=20
由于误差相对于幅值来说太小,所以在整体图上看不出误差的具体值,把图局部放大后如下:
从图上可以读出误差确实为0.2
从图上可以读出,误差确实为20
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动控制 实验 matlab