发布时间 : 星期一 文章自动控制原理B实验指导书更新完毕开始阅读6f40bb0503768e9951e79b89680203d8ce2f6a95
《自动控制原理B》 实验一 控制系统的分析
实验一 控制系统的分析
一.实验目的
1.熟悉MATLAB的一些基本操作。
2.掌握使用MATLAB绘制系统的频率特性图,如绘制伯德图、奈奎斯特曲线。 3.利用频率特性图分析闭环系统的稳定性,并用响应曲线验证。 4.了解非线性环节对控制系统的影响。
二.实验原理
Ⅰ.MATLAB简介
MATLAB的首创者Cleve Moler博士在数值分析,特别是在数值线性代数的领域中很有影响,他参与编写了数值分析领域一些著名的著作。1980年前后,Moler博士在New Mexico大学讲授线性代数课程时,发现了用其它高级语言编程极为不便,便构思并开发了MATLAB(MATrix LABoratory,即矩阵实验室)。在MATLAB下,矩阵的运算变得异常的容易,后来的版本中又增添了丰富多彩的图形图像处理及多媒体功能。由于MATLAB的应用范围越来越广,Moler博士等一批数学家与软件专家组建了一个名为Math Works的软件开发公司,专门扩展并改进MATLAB。
1985年MATLAB 1.0推出后,立刻受到了国际控制学术界的重视。虽然起初该软件并不是为控制系统设计的,但它提供了强大的矩阵处理和绘图功能,可信度高,灵活方便,非常适合现代控制理论的计算机辅助设计。很多控制界的名家正是注意到这一点,在其基础上开发了许多与控制理论相关的程序集,这些程序集目前都作为工具箱(Toolbox)集成在MATLAB环境里。例如:控制系统工具箱(Control System Toolbox)、鲁棒控制工具箱(Robust Control Toolbox)、系统辨识工具箱(System Identification Toolbox)等等,与控制理论的学习和应用都结合的非常紧密。
如果控制系统的结构很复杂,若不借助专用的系统建模软件,在过去很难准确地把一个控制系统的复杂模型输入给计算机,然后对之进行进一步地分析与仿真。
1990年,Math Works软件公司为MATLAB提供了新的控制系统模型图形输入与仿真工具,并定名为SIMULAB,该工具很快在控制界就有了广泛的使用。但因其名字与著名
1
《自动控制原理B》 实验一 控制系统的分析
的SIMULA软件类似,所以1992年以来正式改名为SIMULINK。这一名字的含义是相当直观的,因为它较明显地表明此软件的两个显著的功能:SIMU(仿真)与LINK(连接),亦即可以利用鼠标器在模型窗口上“画”出所需的控制系统模型,然后利用SIMULINK提供的功能来对系统进行仿真或线性化分析。这种做法的一个优点是,可以使得一个很复杂系统的输入变得相当容易且直观。
公司推出的交互式模型输入与仿真环境SIMULINK使控制系统的计算机辅助设计向可视化的方向迈进了一大步。从此,控制系统建模与仿真摆脱了繁琐的关联矩阵求取和输入,可以将更多的精力集中在系统的设计和校正上。
世界各国在控制理论的教学中,均采用MATLAB及SIMULINK作为辅助教学软件,一方面可以摆脱繁杂的大规模计算,另一方面还可以使学生有机会自己动手构建模型。所花的代价要远小于实际建模。
MATLAB还提供了一系列的控制语句,这些语句的语法和使用规则都类似FORTRAN、C等高级语言,但比高级语言更加简洁。并且,由于MATLAB拥有种类繁多、功能丰富的函数及工具箱,因而在程序编制过程中,几乎不必考虑具体的数值计算的算法实现问题。
目前,MATLAB已经成为国际上最流行的控制系统计算机辅助设计的软件工具,现在的MATLAB已经不仅仅是一个“矩阵实验室”了,它已经成为了一种具有广泛应用前景的全新的计算机高级编程语言了。
Ⅱ.实验原理
(一)控制系统模型 1.连续系统传递函数模型
num(s)b1sm?b2sm?1???bm?1G(s)??
den(s)a1sn?a2sn?1???an?1在MATLAB中,直接用分子/分母的系数表示,即
num?[b1,b2,?,bm?1];
den?[a1,a2,?,an?1];
注:在一般情况下,用于同行中分隔的逗号是可以由空格来代替的。 例1:三阶系统
5(s2?5s?6)G(s)?3
s?6s2?10s?82
《自动控制原理B》 实验一 控制系统的分析
num?[52530];
den?[16108];
2.零极点增益模型
G(s)?K(s?z1)(s?z2)?(s?zm)
(s?p1)(s?p2)?(s?pn)在MATLAB中,用[z,p,K]矢量组表示,即
z?[z1,z2,?,zm];
p?[p1,p2,?,pn];
K?[K];
例2:设系统的零极点增益模型为
G(s)?6(s?3)
(s?1)(s?2)(s?5)K?6;
z?[?3];
p?[?1,?2,?5];
3.模型之间转换
tf2zp传递函数模型零极点模型zp2tf
对例2求系统的传递函数:
K?6;
z?[?3];
p?[?1,?2,?5];
[num,den]?zp2tf(z,p,K)
3
《自动控制原理B》 实验一 控制系统的分析
执行后得:
num?
00618
den?
181710
?G(s)?6s?18 32s?8s?17s?10(二)频率特性(频域响应) 1.bode
功能:求连续系统的bode频率响应。
,w]?bode(num,den) 格式:[mag,phase,w]?bode(num,den,w) [mag,phase说明:
bode函数可计算出连续时间系统的幅频和相频响应曲线。
当缺省输出变量时,bode函数可在当前图形窗口中直接绘制出系统bode图。 当带输出变量引用函数时,可得到系统bode图相应的幅度、相位及频率点矢量,其相互关系为:
mag(w)?g(jw)
phase(w)??g(jw)
相位以度为单位,幅度可转换成分贝为单位:magdb?20*log10(mag)
,w1]?bode(num,den,w); 通常用法:[mag,phase(2,1,1); subplot semilogx(w1,20*log10(mag));
bode(num,den)可绘制出以连续时间多项式传递函数g(s)?num(s)den(s)表示的
系统bode图。其中频率范围由函数自动选取,而且在响应快速变化的位置会自动采用更多取样点。
bode(num,den,w)可利用指定的频率矢量绘制出系统的bode图。
2s2?5s?1例:二阶系统G(s)?2
s?2s?34