自动控制原理MATLAB仿真实验报告.docx
《自动控制原理MATLAB仿真实验报告.docx》由会员分享,可在线阅读,更多相关《自动控制原理MATLAB仿真实验报告.docx(10页珍藏版)》请在冰豆网上搜索。
自动控制原理MATLAB仿真实验报告
文档编制序号:
[KKIDT-LLE0828-LLETD298-POI08]
自动控制原理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.系统传函为,试判断其稳定性
2.用Matlab求出的极点。
%Matlab计算程序
num=[32546];den=[134272];G=tf(num,den);pzmap(G);p=roots(den)
运行结果:
p=
+
-
+
-
图1-1零极点分布图
由计算结果可知,该系统的2个极点具有正实部,故系统不稳定。
%求取极点
num=[122];den=[17352];p=roots(den)
运行结果:
p=
+
-
故的极点s1=,s2=+,
s3=-,s4=
(二)阶跃响应
1.二阶系统
1)键入程序,观察并记录单位阶跃响应曲线
2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录
3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:
由图1-3及其相关理论知识可填下表:
=
实际值
理论值
峰值Cmax
峰值时间tp
过渡时间
ts
4)修改参数,分别实现和的响应曲线,并记录
5)修改参数,分别写出程序实现和的响应曲线,并记录
%单位阶跃响应曲线
num=[10];den=[1210];step(num,den);
title('StepResponseofG(s)=10/(s^2+2s+10)');
图1-2二阶系统单位阶跃响应曲线
%计算系统的闭环根、阻尼比、无阻尼振荡频率
num=[10];den=[1210];G=tf(num,den);
[wn,z,p]=damp(G)
运行结果:
wn=
z=
p=
+
-
由上面的计算结果得系统的闭环根s=-1±3i,阻尼比、无阻尼振荡频率
实验二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.要求:
二、记录根轨迹的起点、终点与根轨迹的条数;
三、确定根轨迹的分离点与相应的根轨迹增益;
四、确定临界稳定时的根轨迹增益
%Matlab计算程序
z=[];p=[0-1-2];k=1;G=zpk(z,p,k);figure
(1);pzmap(G)
figure
(2);rlocus(G)
title('实验所作曲线');
(a)由图2-2知,起点分别为0,-1,-2,终点为无穷远处,共三条根轨迹.
(b)结合图2-3和图2-5得分离点d=,相应的根轨迹增益k=.
(c)结合图2-3和图2-4得临界稳定时的根轨迹增益=
图2-1零、极点分布图
图2-2根轨迹图
图2-3根轨迹图
(2)
%求临界稳定时的根轨迹增益Kgl
z=[];p=[0-1-2];k=1;G=zpk(z,p,k);
rlocus(G)
title('实验临界稳定时的根轨迹增益Kgl');
[k,p]=rlocfind(G)
运行结果:
Selectapointinthegraphicswindow
selected_point=
+
k=
p=
+
-
图2-4根轨迹图(3)
实验三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)
(2)
%Matlab计算程序
sys=tf([25],[1425]);figure
(1);bode(sys);
title('实验BodeDiagramofG(s)=25/(s^2+4s+25)');
图3-1Bode曲线图
2.用Matlab作Nyquist图.要求画对应Nyquist图,并加网格和标题.
%Matlab计算程序
sys=tf([1],[11]);
figure
(1);
nyquist(sys);
gridon;
title('实验NyquistPlotofG(s)=1/(s^2++1)');
图3-4Nyquist曲线图