自动控制matlab实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《自动控制原理与系统》
实验报告
院系:材料科学与工程学院
班级: 1204022
姓名:朱子剑
学号: 120402227
时间: 2014 年 12 月
实验一控制系统的时域分析
一、实验目的
学习利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;
二、实验方法
(一)四种典型响应
1、阶跃响应:
阶跃响应常用格式:
1、;其中可以为连续系统,也可为离散系统。
2、;表示时间范围0---Tn。
3、;表示时间范围向量T指定。
4、;可详细了解某段时间的输入、输出情况。
2、脉冲响应:
脉冲函数在数学上的精确定义:
其拉氏变换为:
所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式:①;
②
③
(二)分析系统稳定性
有以下三种方法:
1、利用pzmap绘制连续系统的零极点图;
2、利用tf2zp求出系统零极点;
3、利用roots求分母多项式的根来确定系统的极点
(三)系统的动态特性分析
Matlab提供了求取连续系统的单位阶跃响应函数step、单位脉冲响应函数impulse、零输入响应函数initial以及任意输入下的仿真函数lsim.
三、实验步骤
(一) 稳定性
已知系统的传递函数
2
32
21
()
6116
s s
G s
s s s
++
=
+++,
1)绘制系统的零、极点图
2)求系统的极点
3)试问该系统的稳定性
num=[1 2 1];den=[1 6 11 6];G=tf(num,den);
pzmap(G);
p=roots(den)
p =
-3.0000
-2.0000
-1.0000
1)系统的零极点图
2)系统的极点
S1= -3.0000;s2=-2.0000;s3=-1.0000
3)由计算结果可知,该系统所有的极点均无正实部,故系统稳定。(二)阶跃响应
二阶系统
1)绘制系统的单位阶跃响应曲线
2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录
3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:num=[25];den=[1 4 25];step(num,den);
title('Step Response of G(s)=25/(s^2+4s+25)');
1)系统的单位阶跃响应曲线
2)
num=[25];den=[1 4 25];G=tf(num,den);
[wn,z,p]=damp(G)
wn =
5.0000
5.0000
z =
0.4000
0.4000
p =
-2.0000 + 4.5826i
-2.0000 - 4.5826i
由上面的计算结果得系统的闭环根s= -2±4.5826i ,阻尼比0.4000、无阻尼振荡频率,
wn= 5.0000
3)
(三)系统动态特性分析
用Matlab求二阶系统和的峰值时间上升时间调整时间超调量。
1) G1=tf([0.01],[1 0.002 0.01]);
step(G1);
grid on;
title('Step Response of G1(s)=0.01/(s^2+0.002s+0.01)');
峰值时间tp=31.4;上升时间tr=10.5;调整时间ts=3.9e+03;=96.9%
实验二控制系统的根轨迹分析
一实验目的
1.利用计算机完成控制系统的根轨迹作图
2.了解控制系统根轨迹图的一般规律
二实验方法
(一)方法:当系统中的开环增益k从0到变化时,闭环特征方程的根在复平面上的一组曲线为根轨迹。设系统的开环传函为:,则系统的闭环特征方程为:
根轨迹即是描述上面方程的根,随k变化在复平面的分布。
(二)MATLAB画根轨迹的函数常用格式:利用Matlab绘制控制系统的根轨迹主要用pzmap,rlocus,rlocfind,sgrid函数。
1、零极点图绘制
[p,z]=pzmap(a,b,c,d):返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
[p,z]=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。
pzmap(a,b,c,d)或pzmap(num,den):不带输出参数项,则直接在s复平面上绘制出系统对
应的零极点位置,极点用×表示,零点用o表示。
pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。
2、根轨迹图绘制
rlocus(a,b,c,d)或者rlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数
模型,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化。
rlocus(a,b,c,d,k)或rlocus(num,den,k):通过指定开环增益k的变化范围来绘制系统的根轨迹图。
r=rlocus(num,den,k) 或者[r,k]=rlocus(num,den) :不在屏幕上直接绘出系统的根轨迹图,
而根据开环增益变化矢量k ,返回闭环系统特征方程1+k*num(s)/den(s)=0的根r,它有
length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。或者同时返回k与r。
若给出传递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。(正反馈系统或非最小相位系统)
3、rlocfind()函数
[k,p]=rlocfind(a,b,c,d)或者[k,p]=rlocfind(num,den)
它要求在屏幕上先已经绘制好有关的根轨迹图。然后,此命令将产生一个光标以用来选择希
望的闭环极点。命令执行结果:k为对应选择点处根轨迹开环增益;p为此点处的系统闭环特征根。
不带输出参数项[k,p]时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。
三实验内容
1.绘制下列各系统根轨迹图,且完成: