资 源 简 介
MATLAB与控制系统仿真实践,适合学习自动制方向的用MATLAB进行仿真的人士学习和参考内容简介本书以 MATLAB R2007a为仿真平台,以清新、简洁的风格介绍了 MATLAB语言基础及基于 MATLAB的控制系统仿真。本书在结构上包括上下两篇共17章。上篇介绍 MATLAB语言基础,并简要介绍了 MATLAB GUI程序设计和 MATLAB的混合编程知识,共7章;下篇介绍控制系统的 MATLAB仿真,并提供了两个课程设计实例供学习参考,共10章全书结构清晰,内容翔实,图文并茂,以丰富的实例突岀实践性,通过紧密联系实际突出实用性。本书可作为自动控制等相关专业的教学参考用书,也可作为相关领域工程技术人员和研究人员的参考资料。书中 MATLAB语言的介绍较为全面,可供 MATLAB语言入门者学习参考。书中所给综合实例则对相关课程设计、毕业设计等有重要参考价值图书在版编目(CIP)数据MATLAB与控制系统仿真实践/赵广元编著.一北京北京航空航天大学出版社,2009.8( MATLAB开发实例系列图书)ISBN978-7-81124-787-9Ⅰ.M…·Ⅱ.赵…Ⅲ.①自动控制系统一计算机辅助计算一软件包, MATLAB7.4—教材②自动控制系统一计算机仿真一软件包, MATLAB7.4—教材Ⅳ.TP273TP391.9中国版本图书馆CIP数据核字(2009)第073080号MATLAB与控制系统仿真实践赵广元编著责任编辑陈守平刘亚军北京航空航天大学出版社出版发行北京市海淀区学院路37号(100191)发行部电话:(010)82317024传真:(010)82328026http://www.buaapress.comcnE-mail:bhpress@263.net北京市印刷有限公司印装各地书店经销开本:787mm×1092mm1/16印张:20字数:512千字2009年8月第1版2009年8月第1次印刷印数:5000册ISBN978-7-81124-787-9定价:34.00元前言MATLAB被称为 The Language of Technical computing,它面向理工科不同领域,功能强大、使用方便,而更大的优点在于它的高度开放性。正因如此, MATLAB在理工多个学科的仿真中成为首选工具。作者结合“ MATLAB语言与控制系统仿真”的教学实践与研究成果,以 MATLAB R2007a为系统仿真平台,以清新、简洁的风格编写了本书。1.本书结构与内容安排本书在结构上包括上下两篇。上篇为 MATLAB语言基础,共7章;下篇为控制系统的MATLAB仿真,共10章。上篇主要内容有: MATLAB环境认识与操作, MATLAB语言数据类型和运算符等基础知识, MATLAB的数学运算与符号运算, MATLAB语言的程序设计, MATLAB语言的二维图形、三维图形和符号函数的绘制等绘图基础。同时,以基于GUⅠ设计工具 GUIDE的开发为例简要介绍了 MATLAB GUI程序设计,初步介绍了 MATLAB的混合编程知识,并给出了应用 MATLAB Builder for Java进行混合编程的实例。下篇主要内容有:自动控制及其仿真概述;对 MATLAB仿真集成环境— Simulink的较全面介绍,包括基本操作与设置、子系统及封装技术和S函数的编写等高级应用;基于MATLAB的控制系统数学建模包括了不同函数模型的建立及各种系统模型之间的转换,方框图模型的连接化简等;分别从直接判定和图解判定两方面来进行控制系统的稳定性分析;对控制系统的时域分析分别从动态性能指标和稳态性能指标的分析岀发进行描述;对控制系统的根轧迹分析及基于根轨迹的系统校正;对控制系统的频域分析与基于频域法的校正;控制系统的PID控制器设计主要包括了PI控制器的作用分析及设计举例;非线性控制系统分析中首先给出了非线性特性模块的构建举例,之后分别对使用相平面法和描述函数法进行了仿真分析。各章的原理要点起提纲作用,也供回顾之用;同时对所使用的 MATLAB函数给出简明用法说明。最后一章以两个课程设计综合实例演示了实践教学中 MATLAB的系统仿真应用。2.本书的特点本书结构清晰,内容翔实,图文并茂,并突出以下三点:第一,适当扩展介绍 MATLAB。上篇对 MATLAB的介绍除尽可能满足控制系统仿真需要,直接为下篇做铺垫外,作为扩展还简要介绍了 MATLAB GUⅠ程序设计和 MATLAB的混合编程知识,这有利于读者更全面地认识 MATLAB。学生在其他课程的学习、参加竞赛以及毕业设计等活动中主动应用了这两部分内容,证明以适当的篇幅进行 MATLAB的扩展介绍是必要和有效的。第二,以丰富的实例突出实践。通篇以大量实例展示 MATLAB操作及其在控制系统仿真中的应用。各章中避免太多理论的重复讲解,而仅适当地对自动控制原理的已有结论作简要介绍。对于不同例题的分析有助于引导读者对自动控制原理的深入理解,避免仅作函数的使用介绍与举例。建议读者在使用本书时最好手头有一本自动控制原理的教材作参考第三,紧密联系实际突出应用。通过课程设计综合实例的介绍,突出仿真的实际应用,达到将书本知识与实际系统设计联系起来的目的。这两篇课程设计报告源于学生课程设计的优秀作品,经进一步整理完善而形成3.本书的适用对象本书可作为自动控制、机电一体化、计算机仿真等专业的大专院校学生和研究生的教学参考用书,也可作为自动控制相关领域工程技术人员和研究人员的参考资料。本书对 MATLAB语言的介绍较为全面,也可供学习使用 MATLAB语言参考。书中所给综合实例则对相关课程设计、毕业设计等有重要参考价值4.致谢本书成稿过程中,在结构安排方面得到陕西师范大学傅钢善教授的指点。对傅老师的指点与鼓励表示诚挚的谢意本书成稿后,东北大学人工智能与机器人硏究所潘峰博士仔细阅读了主体内容,提岀了诸多宝贵意见。作者已按照其意见进行了修改。在此表示感谢本书是西安邮电学院课程建设项目(院教[2007]26号)的部分成果。本门课程于2009年被评为校级优秀课程。这里对课程建设小组其他成员的不懈努力表示感谢,对教务处的大力支持表示感谢感谢西安邮电学院信息与控制系主任范九伦教授的鼓励与大力支持,感谢自动化实验室全体老师的无私帮助。本书编写过程中,郑祺、魏美荣、张爱妮等做了部分仿真实验工作,马宏宇、白建华、赵晓莉等做了大量资料查阅、文字校对工作,对他们的辛勤付出表示感谢最后特别感谢妻子马泓波博士的全力支持书中所有程序的源代码可在北京航空航天大学出版社(htp:/www.buaapres.com.cn/)下载中心下载。同时,北京航空航天大学出版社联合MATLAB中文论坛(http://wwwiLoveMatlab.cn)为本书设立了在线交流版块,网址http://www.ilOveMatlab.cn/forum156-1.html,有问必答!作者会第一时间在 MATLAB中文论坛勘误,也会根据读者要求陆续上传更多案例和相关知识链接,还会随着 MATLAB版本的升级增添必要的内容以满足读者的需求。希望这本不断“成长”的书能最大限度地解决您在学习、研究、工作中遇到的MATLAB控制系统仿真相关问题由于作者水平有限,加之时间仓促,书中的不足与疏忽之处,敬请读者批评指正编者2009年5月目录上篇 MATLAB语言基础第1章 MATLAB环境认识与操作1.1 MATLAB环境认识1.1.1命令窗口33351.1.2命令历史记录窗口1.1.3工作空间…1.1.4帮助窗口……………………………………………………………………………81.1.5图形窗口101.1.6编辑/调试窗口111.2 MATLAB notebook及其使用…111.2.1 MATLAB Notebook的启动121.2.2 Notebook的菜单命令…121.2.3输出单元的格式控制131.2.4使用M-book模板的技巧14本章小结14第2章 MATLAB语言基础152.1 MATLAB语言的常量与变量鲁·2.1.1 MATLAB语言的常量2.1.2 MATLAB语言的变量162.2 MATLAB语言的运算符……172.2.1算术运算符…172.2.2关系运算符172.2.3逻辑运算符…………………………………172.3 MATLAB语言的数据类型…2.3.1 MATLAB语言的数据类型概述8882.3.2稀疏矩阵2.3.3单元数组222.3.4结构数组252.4 MATLAB语言的基本语句结构………………………………………………284.1直接赋值语句282.4.2调用函数语句29本章小结29第3章 MATLAB的数值运算与符号运算基础3.1数组与矩阵的基本操作…···鲁··,鲁·,·,·,··鲁·鲁…303.1.1数组与矩阵的输入……………303.1.2数组与矩阵元素的操作343.1.3数组与矩阵的输出………………3.2 MATLAB的基本数值运算∴373.2.1算术运算3.2.2关系运算3.2.3逻辑运算433.2.4运算优先级443.3 MATLAB的基本符号运算453.3.1符号运算基本函数453.3.2符号代数方程求解463.3.3符号微积分运算483.3.4 Laplace变换及其反变换、Z变换及其反变换49本章小结∴51第4章 MATLAB语言的程序设计524.1 MATLAB语言的流程结构524.1.1if,else和 elseif组成的条件转移结构…524.1.2 switch,case和 otherwise组成的开关结构534.1.3 while/for循环结构544.1.4try和 catch组成的试探结构544.1.5 MATLAE程序设计举例554.2 MATLAB函数的编写584.2.1 MATLAB函数基本结构……···.··..·;···.····4.2.2 MATLAB函数编写举例3 MATLAB程序设计中的一些问题本章小结……∴65第5章 MATLAB语言的绘图基础665.1二维图形的绘制661.1绘制二维图形的基本函数及示例66图形的修饰及示例5.1.3多图绘制函数及示例特殊应用二维图形的绘制5.2三维图形的绘制805.2.1三维图形绘制函数805.2.2三维图形绘制举例805.3图形的图形化编辑………825.4符号函数绘制图形835.4.1符号函数绘制图形的函数及示例………835.4.2符号函数的图形化绘制方式84本章小结·鲁85第6章 MATLAB GUI程序设计初步866.1GUI设计工具 GUIDE简介866.1.1 GUIDE的启动866.1.2GUI界面的创建6.2GUI程序设计示例876.2.1“ Hello world”程序的设计曹·,·非876.2.2控制系统典型环节的演示程序…………………………………………………89本章小结94第7章 MATLAB的混合编程初步…………957.1 MATLAB的混合编程形式简述957.2常用 MATLAB混合编程方法957.2.1使用 MATLAB的 MATLAB Compiler957.2.2利用 MATLAB引擎( MATLAB Engine)967.2.3利用 ActiveX技术967.2.4利用MAT文件967.2.5使用MEX文件977.2.6利用 MatrixVB实现与 Visual basic的混合编程977.2.7利用 MATLAB Builder系列工具∴977.3示例— MATLABG Builder forJava应用987.3.1生成魔方矩阵的演示程序……987.3.2输出函数曲线的演示程序102本章小结…………∴…105下篇控制系统的 MATLAB仿真第8章自动控制及其仿真概述8.1自动控制系统概述8.1.1自动控制系统的基本形式及特点8.1.2自动控制系统的分类1108.1.3对自动控制系统的要求及性能评价8.2控制系统仿真概述8.2.1仿真的基本概念……………………………………………………………1108.2.2仿真的不同分类1118.2.3仿真技术的应用及发展1128.2.4计算机仿真的要素及基本步骤1132.5控制系统仿真软件本章小结….114第9章 MATLAB的仿真集成环境—— Simulink∴1159.1 Simulink概述……1159.2 Simulink的基本界面操作………1159.3 Simulink的功能模块及其操作1179.3.1 Simulink的功能模块9.3.2功能模块的基本操作1219.3.3功能模块的连接操作1249.4 Simulink仿真环境的设置1249.5子系统及封装技术1269.5.1子系统的建立……………………………………………………………………1269.5.2子系统的封装1279.6用 Simulink建立系统模型示例1299.7 Simulink的高级应用—S函数的编写1329.7.1S-函数的工作原理1329.7.2S-函数的设计实例…138本章小结……·········.···143第10章基于 MATLAB的控制系统数学建模14410.1控制系统的传递函数模型14410.1.1系统传递函数模型简述14410.1.2传递函数的 MATLAB相关函数……14510.1.3建立传递函数模型实例∴………………14610.2控制系统的零极点函数模型14910.2.1零极点函数模型简述鲁·要10.2.2零极点函数的 MATLAB相关函数14910.2.3建立零极点函数模型实例∴……………………15010.3控制系统的状态空间函数模型15310.3.1状态空问函数模型简述………………15310.3.2状态空间函数的 MATLAB相关函数15310.3.3建立状态空间函数模型实例…15410.4系统模型之间的转换15610.4.1系统模型转换的 MATLAB相关函数15610.4.2系统模型之间转换实例10.5方框图模型的连接化简16110.5.1方框图模型的连接化简简述…………………………………………………16110.5.2系统模型连接化简的 MATLAB相关函数16310.5.3系统模型连接化简实例16310.6 Simulink图形化系统建模实例…166本章小结………………167第∏1章控制系统的稳定性分析16811.1系统稳定性的 MATLAB直接判定……16911.1.1 MATLAB直接判定的相关函数16911.1.2 MATLAB直接判定实例………………16911.2系统稳定性的 MATLAB图解判定…17211.2.1 MATLAB图解判定的相关函数17211.2.2 MATLAB图解判定实例17211.3 MATLAB LTI Viewer稳定性判定实例………………174本章小结176第12章控制系统的时域分析7712.1控制系统的动态性能指标分析12.1.1控制系统的动态性能指标7712.1.2控制系统动态性能指标 MATLAB求取实例12.2控制系统的稳态性能指标分析18512.2.1系统的稳态性能指标………18512.2.2控制系统稳态性能指标 MATLAB求取实例…18512.3 MATLAB时域响应仿真的典型函数应用18812.3.1 MATLAB时域响应仿真的典型函数18812.3.2 MATLAB时域响应仿真的典型函数应用实例………………………………18812.4 MATLAB/ Simulink图形化时域分析19212.4.1 MATLAB LTI Viewer时域分析实例19212.4.2 Simulink时域分析实例194本章小结196第13章控制系统的根轨迹分析与校正19713.1控制系统的根轨迹法分析19913.1.1 MATLAB根轨迹分析的相关函数…13.1.2 MATLAB根轨迹分析实例19913.2控制系统的根轨迹法校正21113.2.1根轨迹法超前校正及基于 MATLAB的实例21213.2.2根轨迹法滞后校正及基于 MATLAE的实例……21613.3 MATLAB图形化根轨迹法分析与设计22013.3.1 MATLAB图形化根轨迹法分析与设计工具 rltool∴…∴22013.3.2基于图形化工具 rltool的系统分析与设计实例221本章小结223