MATLAB在《自动控制原理》教学中的应用.docx
《MATLAB在《自动控制原理》教学中的应用.docx》由会员分享,可在线阅读,更多相关《MATLAB在《自动控制原理》教学中的应用.docx(16页珍藏版)》请在冰点文库上搜索。
MATLAB在《自动控制原理》教学中的应用
2011届学士学位论文
MATLAB在《自动控制原理》教学中的应用
系别:
电子信息系
专业:
电子信息科学与技术
学号:
姓名:
_
指导教师:
指导教师职称:
教授
2011年4月20日
MATLAB在《自动控制原理》教学中的应用
摘要通过对《自动控制原理》课程的学习了解到它主要讲述自动控制系统的基本概念、控制系统的各种数学模型以及控制系统的三种分析方法等。
将控制系统仿真软件Matlab引入到传统的教学方法上来,运用Matlab分析LTI模型的单位冲激响应、LTI模型任意输入的响应函数开环系统H(s)的Nyquist曲线和单位冲击响应为例说明MATLAB在自动控制中的应用。
关键字自动控制;MATLAB;教学方法;单位冲激响应;
TheApplicationofMATLABintheTeaching
ofAutomaticControlPriniple
AbstractThroughthelearningofAutomaticcontrolprinciple,Iknowthatitismainlyabouttheconceptualframeworkofautomatic,variousmathematicalmodels,threeanalyzingwaysofcontrolsystemandsoon.
IwillexplaintheapplicationofMATLABinautomaticcontrolprinciplebyleadingtheimitatetruesoftwareMatlabofcontrolsystemtogointothetraditionalteachingmethodandanalyzingtheunitofLTIpatternbluntarouseresponse,LTIpatternarbitrarilyNyquistcurveandunitoftheinwardresponsefunctionopenloopsystemH(s)topoundatresponse.
Key-wordscontrolsystem;MATLAB;teachingmethod;theunitimpactresponds
目录
1引言.........................................5
2MATLAB基本知识介绍............................6
2.1MATLAB的发展历程及其影响..................6
2.2MATLAB的语言特性..........................7
2.3MATLAB的应用与组成部分....................8
3自动控制系统基础知识..........................10
3.1自动控制系统的概述.........................10
3.2自动控制系统基本控制方式...................10
3.3自动控制的分类.............................10
3.4对自动控制系统的要求.......................11
3.5自动控制系统应用示例.......................12
3.6自动控制系统的分析与设计工具...............12
4MATLAB在自动控制原理中的应用..................13
4.1引入MATLAB的必要性与可行性分析..............13
4.2MATLAB在自动控制原理中的应用..............14
5结束语.........................................20
1引言
《自动控制原理》是高校电类、机械类及相关本科专业的一门重要的专业基础课程,是本科生后续课程和研究生课程的基础。
它主要讲述自动控制系统的基本概念、控制系统的各种数学模型以及控制系统的三种分析方法等。
在实际教学过程中教师可能会遇到一些困难:
内容抽象难懂,学生没有兴趣;计算工作量大,很浪费课堂时间;传统手工方法绘图,精度低且分析质量差;学生对高阶系统望而生畏;针对这一系列情况,如何将抽象问题具体化、如何能够调动学生的学习积极性、如何创造良好的教学效果便成为高校自动控制教师不得不面临的巨大挑战。
在近两年的教学过程中高校教师们尝试将控制系统仿真软件Matlab引入到传统的教学方法上来,这样可以充分利用计算机的表现能力来加深学生对课程内容的理解和掌握,提高了课堂效率和学生的实际动手能力,同时也激发了学生学习本门课程的热情。
通过实践,取得了良好的效果[1]。
2MATLAB的基本知识介绍
2.1MATLAB的发展历程及其影响
MATLAB的名字是由Matrix(矩阵)和Laboratory(实验室)两个词的前3个字母组合而成。
20世纪70年代后期,CleveMoler博士和他的同事构思并为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,就是用Fortran编写萌芽状态的MATLAB。
以后几年,MATLAB作为免费软件在大学里被广泛使用,深受大学生的欢迎。
1984年JohnLittle、CleveMoler和SteveBangert合作成立了MathWorks公司专门从事MATLAB软件的开发,并把MATLAB正式推向市场。
1993年,MathWorks公司推出了MATLAB4.0版本;1995年MathWorks公式推出MATLAB4.2C版(ForWin3X);1997年MathWorks公司推出MATLAB5.0;2000年10月推出了MATLAB6.0;2002年8月,推出了MATLAB6.5,从此MATLAB拥有了强大的、成系列的交互式界面。
2004年7月,又进一步发展了MATLAB7.0。
在MATLAB7.0中,仿真模块发展到了Simulink6.0。
MATLABR系列是从2006年开始发布的,MathWorks公司在技术层面上实现了一次飞跃。
MathWorks公司于2008年11月7日发布了MATLABR2009a。
相比以前版本而言,MATLABR2009a不仅包括MATLAB和Simulink的新特性,还包含81个其他产品模块的升级和bug修正[2]。
目前,MATLAB已经成为国际最流行的科学与工程计算软件之一。
在欧、美大学的应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书中,都把MATLAB作为其中的内容。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多的国际学术刊物上(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认为是进行高效研究、开发的首选软件工具,如美国NationalInstrument公司信号测量分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,都是以MATLAB为主要支撑的[3]。
2.2MATLAB的语言特性
MATLAB语言除了具有强大数值计算和图形功能以外,还有其他语言难以比拟的功能,如其提供的应用于许多领域的工具箱。
此外,MATLAB与其他语言的接口能够保证它可以和各种强大的计算机软件相结合,发挥更大的作用。
目前,MATLAB可以在各类计算机上运行,如PC、SunSpace工作站、SiliconGraphics工作站和惠普工作站。
如果单纯地使用MATLAB语言进行编程,则编写的程序可直接移植到其他机型上使用。
可以说MATLAB是和机器类型及操作系统基本上无关的软件。
MATLAB语言具有较高的运算精度。
如果矩阵的条件数很大,则矩阵中一个参数的微小变化,就可能会是最终结果发生极大地变化,这种现象在数学上被称为坏条件问题。
对于这类问题,如果采用的算法不当,最后得出的结果可能不正确。
使用MATLAB语言一般不会出现这类错误,即MATLAB是可靠的、数值稳定的[4]。
2.3MATLAB的应用与组成部分
典型应用
MATLAB是一个高精度的科学计算语言,它将计算、可视化和编程结合在一个容易使用的环境中。
在这个环境中,用户可以把提出的问题和解决问题的办法用熟悉的数学符号表示出来。
MATLAB的典型应用包括:
*数学和计算。
*运算法则。
*建模和仿真。
*数据分析、研究和可视化。
*科学的工程图形。
*应用程序开发,包括创建图形用户接口。
组成部分
MATLAB系统由下面5个主要部分组成。
(1)MATLAB开发环境
(2)MATLAB数学函数库
(3)MATLAB语言
(4)MATLAB图形处理系统
MATLAB应用程序接口
3自动控制系统基础知识
3.1自动控制系统的概述
在现代科学技术的众多领域中,自动控制技术骑着越来越重要的作用。
所谓自动控制,是指在没有人直接参与的情况下,利用外加的设备或装置(称控制装置或控制器),使机器、设备或生产过程(统称被控对象)的某个工作状态或参数(即被控量)自动的按照预定的规律运行。
例如,数控车床按照预定程序自动地切削工件;化学反应炉的温度或压力自动地维持恒定;雷达和计算机组成的导弹发射和制导系统,自动地将导弹引导到敌方目标等等这一切都是以应用高水平的自动控制技术为前提的[5]。
3.2自动控制系统基本控制方式
(1)反馈控制方式
(2)开环控制方式
(3)复合控制方式
3.3自动控制系统的分类
自动控制系统有多种分类方法。
例如,按控制方式可分为开环控制、反馈控制、复合控制等;按元件类型可分为机械系统、电气系统、机电系统、液压系统、气动系统、生物系统等……一般,为了全面反映自动控制系统的特点,常常将上述各种分类方法组合应用[6]。
线性连续控制系统
恒值控制系统
随动系统
程序控制系统
线性定常离散控制系统
非线性控制系统
3.4对自动控制系统的基本要求
自动控制理论是研究自动控制共同规律的一门科学。
尽管自动控制系统有不同的类型,对每个系统都有不同的特殊要求,但是,对没一类系统被控量变化全过程提出的共同基本要求都是一样的,即
(1)稳定性
(2)快速性
(3)准确性[7]
3.5自动控制系统应用示例
函数记录仪
飞机-自动驾驶仪系统
电阻炉微型计算机温度控制系统
锅炉液位控制系统
胰岛素注射控制系统
磁盘驱动读取系统
3.6自动控制系统的分析与设计工具
在MATLAB工具箱中,常用的有如下6个控制类工具箱:
(1)系统辨识工具箱
(2)控制系统工具箱
(3)鲁棒控制工具箱
(4)模型预测控制工具箱
(5)模糊逻辑工具箱
非线性控制设计模型[8]
4.MATLAB在自动控制系统教学中的应用
4.1引入MATLAB的必要性与可行性分析
(1)必要性
当前计算机技术和网络信息技术迅猛发展,工程技术人员也越来
越多的借助于计算机来提高工作的效率。
在未来,工程师不借助于计算机软件来进行工作是不可想象的。
而自动控制原理是分析与设计控制系统的理论基础,随着高科技的迅猛发展,现代控制工程呈现出“以控制理论为基础,以计算机为核心”的特点,因此,必须使学生学会运用计算机进行辅助分析与设计。
自动控制原理这门课程涉及到控制系统的模型建立、系统分析、系统设计的基本理论和相关技术。
其特点是概念抽象,数学含量大,计算繁杂,以致学生难于理解,如果学生学会使用MATLAB对系统进行仿真设计和分析,不仅可以使学生对所学理论知识有更深刻的理解和把握,有效地提高教学质量,同时可以提高学生的动手能力和设计水平,更好地满足社会对人才的要求。
而且学生一旦掌握这门语言,就可以很容易地利用软件的相关命令函数做出所需的各种图形,对自动控制原理课程学习有极大的促进作用。
(2)可行性
MATLAB的编程效率比BASIC、C、FORTRAN、和PASCAL等语言要高,且易于维护。
MATLAB大多数语句、函数和命令都是与计算机硬件系统无关的。
不管用什么样的计算机系统,与MATLAB的交互方式是基本相同的。
从语法上讲,由于MATLAB本身是由C语言编写的,M文件的语法与C语言十分相似,熟悉C语言的同学会轻松地掌握MATLAB的编程技巧。
自动控制原理在三年级开设,此时学生已经学过C语言,不必增加课时讲解编程方法和技巧,只需介绍和演示各种函数的功能和用法即可,因此基本上不会带来课时上的负担[9]。
4.2MATLAB在自动控制原理中的应用
在自动控制原理的教学过程中,几乎每章的内容都可以引入MATLAB的应用,向学生介绍计算机辅助分析与设计的方法。
例如,可以利用MATLAB进行系统仿真、分析状态空间模型、分析控制系统的特点和性能、研究系统的稳定性、进行根轨迹分析、绘制频率特性图、分析频域稳定性、进行系统校正设计、进行数字控制系统设计等等[10]。
下面以分析LTI模型的单位冲激响应、LTI模型任意输入的响应函数、开环系统H(s)的Nyquist曲线和单位冲击响应为例说明MATLAB在自动控制中的应用。
例1:
LTI模型的单位冲激响应函数impulse()
格式:
impulse(sys)
功能:
绘制系统sys(sys由函数tf、zpk或ss产生)的单位冲激响应,结果不返回数据,
只返回图形
系统传递函数为:
求脉冲响应。
MATLAB程序如下:
sys=tf(4,[114]);%生成传递函数模型
impulse(sys);%计算并绘制系统的单位冲激响应
title('脉冲响应');
该程序运行所得结果如图1所示
图1LTI模型的单位冲激响应函数impulse()
例2:
LTI模型任意输入的响应函数lsim()
格式:
lsim(sys,u,T)
功能:
计算和绘制LTI模型sys在任意输入u、持续时间T的作用下的输出y,不返回数据,只返回图形。
T为时间数组,它的步长必须与采样周期Ts相同。
当u为矩阵时,它的列作为输入,且与T(i)行的时间向量相对应。
例如t=0:
0.01:
5;u=sin(t);lsim(sys,u,t)完成系统sys对输入u(t)=sin(t)在5秒内的响应仿真。
求系统:
的方波响应,其中方波周期为6秒,持续时间12秒,采样周期为0.1秒。
MATLAB程序为:
[u,t]=gensig('square',6,12,0.1);%生成方波信号
plot(t,u,'--');holdon;%绘制激励信号
sys=tf([1,1],[1,2,5]);%生成传递函数模型
lsim(sys,u,t,'k');%系统对方波激励信号的响应
该程序运行所得结果如图2所示。
图2LTI模型任意输入的响应函数lsim()
例3:
试绘制开环系统H(s)的Nyquist曲线,判断闭环系统的稳定性,并求出闭环系统的单位冲激响应。
其中
MATLAB程序为:
k=50;z=[];p=[-5,2];
sys=zpk(z,p,k);
figure
(1);nyquist(sys);title('Nyquist曲线图');
figure
(2);sb=feedback(sys,1);
impulse(sb);title('单位冲激响应');
图3开环系统H(s)的Nyquist曲线
图4闭环系统的单位冲激响应
例3:
MATLAB实现RLC带通滤波器的设计
连续时间LTI(线性时不变)系统的频率响应特性,是基于信号的频谱分析的方法,包括幅频响应特性和相频响应特性,是描述信号与系统特性的重要参数。
下图为一种RLC带通滤波器的最简单形式,设R=10Q,L=0.1H,C=0.1F时的频率响应。
图为RLC带通滤波器
频率特性为:
谐振频率为:
其MATLAB程序为:
w=-6*pi:
0.01:
6*pi;
b=[10];
a=[11100];
H=freqs(b,a,w);
subplot(2,1,1);
plot(w,abs(H)),gridon
xlabel('\omega(rad/s)'),ylabel('H(\omega)');
title('带通滤波器的幅频特性')
subplot(2,1,2);
plot(w,angle(H)),gridon
xlabel('\omega(rad/s)'),ylabel('\phi(\omega)');
title('带通滤波器的相频特性')
运行结果如图5所示。
图5RLC带通滤波器的幅频特性和相频特性
由图可以看出,该带通滤波器频率特性就是让接近谐振频率的信号通过而阻止其他频率的信号
5结束语
随着控制理论的迅速发展,控制精度要求越来越高,致使控制算法越来越复杂,控制器设计越来越困难。
借助该软件可便捷地分析一个控制系统的稳、准、快性能,也可迅速准确地设计出各种控制器的结构。
把MATLAB引入自动控制原理的教学,是现实需要而且是切实可行的,它不仅可以激发学生的学习兴趣,还可以培养学生利用计算机辅助分析和解决问题的能力,使之成为满足社会需求的人才。
参考文献
[1]胡寿松.自动控制原理[M].北京:
科学出版社,2003
[2]李南南,张涛,李丽.MATLAB7简明教程[M].北京:
清华大学出版社,2007
[3]邓薇.MATLAB函数速查手册[M].北京:
人民邮电出版社,2003
[4]张德丰,蒋启明,吕量.MATLAB自动控制系统设计[M].北京:
机械工业出版社,2001
[5]张力军,李贵.信号与系统[M].北京:
科学出版社,2005
[6]林仁敏,郑阳.自动控制——Matlab综合实验[M].北京:
高等教育出版社,2006
[7]张强.MATLAB程序设计与应用(第2版)[M].北京:
高等教育出版社,2007
[8]郁建中.自动控制技术[M].北京:
北京邮电大学出版社,2008
[9]赵红怡,张常年.精通Matlab综合辅导与指南[M].北京:
北京航空航天大学出版社,2001
[10]王洪元.MATLAB语言及在电子信息工程中的应用[M].北京:
清华大学出版社,2004.
致谢
值此论文完成之际,我首先衷心感谢尊敬的导师***教授。
在求学期间,杨老师对我的学习和研究工作给予了极大的关怀和帮助。
正是由于他的严格要求和悉心指导,本文的研究工作才得以顺利完成。
杨老师深厚广博的学识修养、严谨求实的治学态度、敏锐活跃的学术思想、崇高执著的敬业精神和平易近人的学者风范深刻影响和教育了我,严谨的治学精神和良好的科研方法给学生留下了深刻的印象,将是我毕生受益的宝贵财富。
在此,对***老师表示最诚挚的谢意!
谨向四年来为学生的成长和进步倾注了无数心血的老师表示衷心的谢意!
感谢为我操劳一生的父母,没有您们对我的教导和关怀,就没有我现在的一切,您们对子女的深爱和支持我将铭记终生!
在此,向所有关心和帮助过我的领导、老师、同学和朋友表示由衷的谢意!
衷心地感谢在百忙之中评阅论文和参加答辩的各位老师,教授!