自动控制原理MATLAB仿真实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自动控制原理实验报告

学 院 电子信息与电气工程学院

实验一 MATLAB 及仿真实验(控制系统的时域分析)

一、实验目的

学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;

二、预习要点

1、 系统的典型响应有哪些?

2、 如何判断系统稳定性?

3、 系统的动态性能指标有哪些?

三、实验方法

(一) 四种典型响应

1、 阶跃响应:

阶跃响应常用格式:

1、)(sys step ;其中sys 可以为连续系统,也可为离散系统。

2、),(Tn sys step ;表示时间范围0---Tn 。

3、),(T sys step ;表示时间范围向量T 指定。

4、),(T sys step Y =;可详细了解某段时间的输入、输出情况。

2、 脉冲响应:

脉冲函数在数学上的精确定义:0

,0)(1)(0

〉==⎰∞

t x f dx x f 其拉氏变换为:)

()()()(1)(s G s f s G s Y s f === 所以脉冲响应即为传函的反拉氏变换。

脉冲响应函数常用格式: ① )(sys impulse ;

② );

,();,(T sys impulse Tn sys impulse ③ ),(T sys impulse Y =

(二) 分析系统稳定性

有以下三种方法:

1、 利用pzmap 绘制连续系统的零极点图;

2、 利用tf2zp 求出系统零极点;

3、 利用roots 求分母多项式的根来确定系统的极点

(三) 系统的动态特性分析

Matlab 提供了求取连续系统的单位阶跃响应函数step 、单位脉冲响应函数impulse 、零输入响应函数initial 以及任意输入下的仿真函数lsim.

四、实验内容

(一) 稳定性

1. 系统传函为()272436

452323452

34+++++++++=s s s s s s s s s s G ,试判断其稳定性

2. 用Matlab 求出25372

2)(2342

++++++=s s s s s s s G 的极点。

%Matlab 计算程序

num=[3 2 5 4 6];den=[1 3 4 2 7 2];G=tf(num,den);pzmap(G);p=roots(den)

运行结果:

p =

-1.7680 + 1.2673i

-1.7680 - 1.2673i

0.4176 + 1.1130i

0.4176 - 1.1130i

-0.2991

图1-1 零极点分布图

由计算结果可知,该系统的2个极点具有正实部,故系统不稳定。

%求取极点

num=[1 2 2];den=[1 7 3 5 2];p=roots(den)

运行结果:

p =

-6.6553

0.0327 + 0.8555i

0.0327 - 0.8555i

-0.4100 故25372

2)(2342++++++=s s s s s s s G 的极点s1=-6.6553 , s2=0.0327 + 0.8555i ,

s3= 0.0327 - 0.8555i , s4=-0.41

(二)阶跃响应

1. 二阶系统()10210

2++=s s s G

1)键入程序,观察并记录单位阶跃响应曲线

2)计算系统的闭环根、阻尼比、无阻尼振荡频率,并记录

3)记录实际测取的峰值大小、峰值时间及过渡过程时间,并填表:

由图1-3及其相关理论知识可填下表:3//πωπ==d p t =1.0472 实际值 理论值

峰值C max 1.35 1.3509

峰值时间t p 1.09 1.0472 过渡时间 t s 3.5 4.5 4)修改参数,分别实现1=ζ和2=ζ的响应曲线,并记录 4.5

2%(00.9)3.5

5%

n

s n

t ζωζζω⎧∆=⎪⎪=

<<⎨⎪∆=⎪⎩

5)修改参数,分别写出程序实现012

1w w n =

和022w w n =的响应曲线,并记录 %单位阶跃响应曲线

num=[10];den=[1 2 10];step(num,den);

title('Step Response of G(s)=10/(s^2+2s+10)'); 图1-2 二阶系统()102102++=

s s s G 单位阶跃响应曲线

%计算系统的闭环根、阻尼比、无阻尼振荡频率

num=[10];den=[1 2 10];G=tf(num,den);

[wn,z,p]=damp(G)

运行结果:

wn =

3.1623

3.1623

z =

0.3162

0.3162

p =

-1.0000 + 3.0000i

-1.0000 - 3.0000i 由上面的计算结果得系统的闭环根s= -1±3i ,阻尼比=ς3162.0、无阻尼振荡频率1623.3=n ω

实验二 MATLAB 及仿真实验(控制系统的根轨迹分析)

一 实验目的

1.利用计算机完成控制系统的根轨迹作图

2.了解控制系统根轨迹图的一般规律

3.利用根轨迹图进行系统分析

二 预习要点

1. 预习什么是系统根轨迹?

2. 闭环系统根轨迹绘制规则。

三 实验方法

(一) 方法:当系统中的开环增益k 从0到变化时,闭环特征方程的根在复平面上的一组曲线为根轨迹。设系统的开环传函为:)()()(0s Q s N k s G =,则系统的闭环特征方程为:0)

()(1)(10=+=+s Q s N k s G 根轨迹即是描述上面方程的根,随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 的格线。

四 实验内容

相关文档
最新文档