matlab自控仿真实验报告.docx
- 文档编号:24961635
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:36
- 大小:315.48KB
matlab自控仿真实验报告.docx
《matlab自控仿真实验报告.docx》由会员分享,可在线阅读,更多相关《matlab自控仿真实验报告.docx(36页珍藏版)》请在冰豆网上搜索。
matlab自控仿真实验报告
实验一MATLAB及仿真实验(控制系统的时域分析)…………1
实验二MATLAB及仿真实验(控制系统的根轨迹分析)…………4
实验三MATLAB及仿真实验(控制系统的频域分析)…………7
实验一MATLAB及仿真实验(控制系统的时域分析)
学习利用MATLAB进行以下实验,要求熟练掌握实验内容中所用到的指令,并按内容要求完成实验。
一、实验目的
学习利用MATLAB进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;
二、预习要点
1、系统的典型响应有哪些?
2、如何判断系统稳定性?
3、系统的动态性能指标有哪些?
三、实验方法
(一)四种典型响应
1、阶跃响应:
阶跃响应常用格式:
1、
;其中
可以为连续系统,也可为离散系统。
2、
;表示时间范围0---Tn。
3、
;表示时间范围向量T指定。
4、
;可详细了解某段时间的输入、输出情况。
2、脉冲响应:
脉冲函数在数学上的精确定义:
其拉氏变换为:
所以脉冲响应即为传函的反拉氏变换。
脉冲响应函数常用格式:
①
;
②
③
(二)分析系统稳定性
有以下三种方法:
1、利用pzmap绘制连续系统的零极点图;
2、利用tf2zp求出系统零极点;
3、利用roots求分母多项式的根来确定系统的极点
(三)系统的动态特性分析
Matlab提供了求取连续系统的单位阶跃响应函数step、单位脉冲响应函数impulse、零输入响应函数initial以及任意输入下的仿真函数lsim.
四、实验内容
(一)稳定性
1.系统传函为
,试判断其稳定性
den=[134272];
p=roots(den)
输出结果是:
p=-1.7680+1.2673i
-1.7680-1.2673i
0.4176+1.1130i
0.4176-1.1130i
-0.2991
有实部为正根,所以系统不稳定。
2.用Matlab求出
的极点。
den=[17352];p=roots(den)
输出结果:
p=-6.6553
0.0327+0.8555i
0.0327-0.8555i
-0.4100
(二)阶跃响应
1.二阶系统
1)键入程序,观察并记录单位阶跃响应曲线
num=10;den=[1210];t=10;sys=tf(num,den);step(sys,t)
2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录
P1=-1.0000+3.0000i;P2=-1.0000-3.0000i;ξ=10/√10;w=√10
3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:
实际值
理论值
峰值Cmax
1.35
峰值时间tp
1.03
过渡时间
ts
4)修改参数,分别实现
和
的响应曲线,并记录
5)修改参数,分别写出程序实现
和
的响应曲线,并记录
2.作出以下系统的阶跃响应,并与原系统响应曲线进行比较,作出相应的实验分析结果
(1)
,有系统零点的情况
num=[210];den=[1210];t=10;sys=tf(num,den);step(sys,t)
(2)
,分子、分母多项式阶数相等
num=[10.510];den=[1210];t=10;sys=tf(num,den);step(sys,t)
(3)
,分子多项式零次项为零
num=[10.50];den=[1210];t=10;sys=tf(num,den);step(sys,t)
(4)
,原响应的微分,微分系数为1/10
3.单位阶跃响应:
求该系统单位阶跃响应曲线,并在所得图形上加网格线和标题
(三)系统动态特性分析
用Matlab求二阶系统
和
的峰值时间
上升时间
调整时间
超调量。
num1=[120];den1=[112120];sys1=tf(num1,den1);
num2=[0.01];den2=[10.0020.01];sys2=tf(num2,den2);
t=0:
0.01:
10;
figure
(1)
step(sys1,t);grid
figure
(2)
step(sys2,t);grid
由图知第一个的峰值时间
=0.34,上升时间
=0.159,调整时间
=0.532,超调量
=12.8
由图知第二个的调整时间
=10,超调量
=0
五.实验报告要求:
a)完成上述各题
b)分析阻尼比、无阻尼振荡频率对系统阶跃响应和脉冲响应的影响
c)分析零初值、非零初值与系统模型的关系
d)分析响应曲线的稳态值与系统模型的关系
e)分析零极点对系统性能的影响
实验二MATLAB及仿真实验(控制系统的根轨迹分析)
一实验目的
1.利用计算机完成控制系统的根轨迹作图
2.了解控制系统根轨迹图的一般规律
3.利用根轨迹图进行系统分析
二预习要点
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中。
4、sgrid()函数
❑sgrid:
在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。
❑sgrid(‘new’):
是先清屏,再画格线。
❑sgrid(z,wn):
则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线。
四实验内容
1.
要求:
(a)记录根轨迹的起点、终点与根轨迹的条数;
num=[0001];
den=conv([10],[11]);
den=conv([den],[12]);rlocus(num,den);
v=[-82-44];axis(v);
den=conv([10],[11]);
den=conv([den],[12]);rlocus(num,den);
v=[-82-44];axis(v);
(b)确定根轨迹的分离点与相应的根轨迹增益;
num=[0001];den=conv([10],[11]);
den=conv(den,[12]);
rlocus(num,den)
v=[-82-44];axis(v);
[k,poles]=rlocfind(num,den)
Selectapointinthegraphicswindow
selected_point=
0.8507-0.0870i
k=4.5187
poles=-2.8540
-0.0730+1.2562i
-0.0730-1.2562i
(c)确定临界稳定时的根轨迹增益
2.
要求:
确定系统具有最大超调量时的根轨迹增益;
3.绘制下列各系统根轨迹图。
num=[124];den1=conv([10],[14]);
den2=conv([16],[141]);
den=[den1,den2];
G=tf(num,den);
sys=feedback(G,1,-1);
rlocus(sys)
4.绘制下列各系统根轨迹图。
开环传递函数:
;
num=[10.2];den=conv([100],[13.6]);
sys=tf(num,den);
rlocus(sys)
(2)
num=[0001];den1=conv([10],[10.5]);
den=conv(den1,[10.610])
sys=tf(num,den);
rlocus(sys)
输出结果:
den=
1.00001.100010.30005.00000
5.试绘制下面系统根轨迹图
num=[11];den1=conv([10],[1-1]);
den=conv(den1,[1416])
G=tf(num,den);
sys=feedback(G,1,-1);
rlocus(sys)
输出结果:
den=
1312-160
五实验报告要求
(a)记录与显示给定系统根轨迹图
(b)完成上述各题
实验三MATLAB及仿真实验(控制系统的频域分析)
学习利用MATLAB进行以下实验,要求熟练掌握实验内容中所用到的指令,并按内容要求完成实验。
一实验目的
1.利用计算机作出开环系统的波特图
2.观察记录控制系统的开环频率特性
3.控制系统的开环频率特性分析
二预习要点
1.预习Bode图和Nyquist图的画法;
2.映射定理的内容;
3.Nyquist稳定性判据内容。
三实验方法
1、奈奎斯特图(幅相频率特性图)
❑对于频率特性函数G(jw),给出w从负无穷到正无穷的一系列数值,分别求出Im(G(jw))和Re(G(jw))。
以Re(G(jw))为横坐标,Im(G(jw))为纵坐标绘制成为极坐标频率特性图。
MATLAB提供了函数nyquist()来绘制系统的极坐标图,其用法如下:
❑nyquist(a,b,c,d):
绘制出系统的一组Nyquist曲线,每条曲线相应于连续状态空间系统[a,b,c,d]的输入/输出组合对。
其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。
❑nyquist(a,b,c,d,iu):
可得到从系统第iu个输入到所有输出的极坐标图。
❑nyquist(num,den):
可绘制出以连续时间多项式传递函数表示的系统的极坐标图。
❑nyquist(a,b,c,d,iu,w)或nyquist(num,den,w):
可利用指定的角频率矢量绘制出系统的极坐标图。
❑当不带返回参数时,直接在屏幕上绘制出系统的极坐标图(图上用箭头表示w的变化方向,负无穷到正无穷)。
当带输出变量[re,im,w]引用函数时,可得到系统频率特性函数的实部re和虚部im及角频率点w矢量(为正的部分)。
可以用plot(re,im)绘制出对应w从负无穷到零变化的部分。
2、对数频率特性图(波特图)
对数频率特性图包括了对数幅频特性图和对数相频特性图。
横坐标为频率w,采用对数分度,单位为弧度/秒;纵坐标均匀分度,分别为幅值函数20lgA(w),以dB表示;相角,以度表示。
MATLAB提供了函数bode()来绘制系统的波特图,其用法如下:
❑bode(a,b,c,d,iu):
可得到从系统第iu个输入到所有输出的波特图。
bode(a,求取系统对数频率特性图(波特图):
bode()
求取系统奈奎斯特图(幅相曲线图或极坐标图):
nyquist()b,c,d):
自动绘制出系统的一组Bode图,它们是针对连续状态空间系统[a,b,c,d]的每个输入的Bode图。
其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。
❑bode(num,den):
可绘制出以连续时间多项式传递函数表示的系统的波特图。
❑bode(a,b,c,d,iu,w)或bode(num,den,w):
可利用指定的角频率矢量绘制出系统的波特图。
❑当带输出变量[mag,pha,w]或[mag,pha]引用函数时,可得到系统波特图相应的幅值mag、相角pha及角频率点w矢量或只是返回幅值与相角。
相角以度为单位,幅值可转换为分贝单位:
magdb=20×log10(mag)
四实验内容
1.用Matlab作Bode图.要求:
画出对应Bode图,并加标题.
(1)
num=25;den=[1425];
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
(2)
num=conv([01],[10.21]);den=conv([10],[11.29]);
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
2.用Matlab作Nyquist图.要求画对应Nyquist图,并加网格标题.
num=1;den=[10.81];
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
3.典型二阶系统
,试绘制
取不同值时的Bode图。
取
。
当w=6,ζ=0.1时
num=36;den=[11.236];
G=tf(num,den);
figure
(1)
margin(G);
4.某开环传函为:
,试绘制系统的Nyquist曲线,并判断闭环系统稳定性,最后求出闭环系统的单位脉冲响应。
num=50;den=conv([15],[1-2]);
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
由奈奎斯特图可知它有左半平面的开环极点,也可看出他包围了(-1,j0),所以系统不稳定。
5.
当T=0.1,ζ=2时
num=1;den=[0.010.41];
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
title('波特图')
当T=0.1,ζ=1时
num=1;den=[0.010.21];
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
title('波特图')
当T=0.1,ζ=0.5时
num=1;den=[0.010.11];
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
title('波特图')
当T=0.1,ζ=0.1
num=1;den=[0.010.021];
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nichols(G);
axis([-2070-4040]);ngrid
figure(3)
nyquist(G);
axisequal
title('波特图')
6.
要求:
(a)作波特图
den=conv(den,[0.11]);
G=tf(num,den);
figure
(1)
margin(G);
figure
(2)
nyquist(G);
(b)由稳定裕度命令计算系统的稳定裕度
和
,并确定系统的稳定性
由Bode图得:
幅值裕度
=1.08dB和相角裕度
=22.3
有奈奎斯特图可知它有左半平面的开环极点,也可看出他包围了(-1,j0),所以系统不稳定。
(c)在图上作近似折线特性,与原准确特性相比
7.已知系统结构图如图所示:
其中:
(1)
(2)
要求:
(a)作波特图,并将曲线保持进行比较
当Gc(s)=1时
num=1;den=conv([10],[11]);
G=tf(num,den);
figure
(1)
margin(G)
当Gc(s)=1/(s+1)s时
num=1;den=conv([100],[121]);
G=tf(num,den);
figure
(1)
margin(G)
(b)分别计算两个系统的稳定裕度值,然后作性能比较
五实验报告要求
(a)记录与显示给定系统波特图、极坐标图
(b)完成上述各题
注:
实验五所含各项实验,要求学生在教师的指导下,以自学为主的方式进行。
实验过程和结果的检查与考核由教师根据学生学习情况自定。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 自控 仿真 实验 报告