MATLAB与控制系统仿真实践
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
- 2021-05-06下载
- 积分:1
浙江大学计算理论复习总结
计算理论复习总结,但是考试快要结束了,估计大家也没有什么需要了。28.文法是CFG的推广,任何CFG都是文法。G=(V,∑,R,S)29.语言被文法生成ⅲ它是re的。30.所有数值函数都是原始递归的31.原始递归函数集是递归可枚举的。32.特殊语言/问题H={"M"w":M在w上停机}lH={"M"w":M是一台在"w"上不停机的TM}H1={"M":M在“M”上停机}H1={w:要么w不是一台TM的编码,要么w是M的编码,M是一台在"M"上不停机的TM}H:re.;H1:re.;-H,-H1:非r.e.;2-SAT∈P;SAT∈NPThe world as We Dont Know itreAsumming P≠APCo『eHrecursiveSATSATCO-A伊II Asumming P=Npr, eCo-r.erecursiveNP= cO-Np= p33没有算法的问题称作不可判定的or不可解的,如TM的停机问题34.证明不可判定通用图灵机U通过递归函数归约到L如果L是递归的则U是递归的ic若L1非递归,并存在L1到L2的归约,则L2也非递归。递归函数是 Turing Computable的35.语言是图灵可枚举的,证存在枚举它的图灵机。(M通过空格代开始,周期性的经过特殊状态q来枚举L,任意顺序且可重复)6.不可判定语言与递归语言互为补集,与rc语言有交集。37语言是re.,if它是图灵可枚举的;语言是递归的,i它是以字典序 turing可枚举的。8.P在并交连接和补运算下封闭NP在并、连接运算下封闭。若NP在补下封闭则NP=P39.H={M"wM在最多2w步后停机}唾P40.所有正则语言和所有CFL都属于P41.NPA.机器角度去定义:被多项式界限非确定型图灵机判定的所有语言的类。B.基于 verifier的定义:NP问题上建立的非确定机包含两步1)非确定地猜一个解2〕用一个确定的算法判定该解是否为可行解判定一个给定猜测值是否满足该问题(可满足性)的算法称作 verifier,一个问题称作NP问题当且仅当存在一个多项式时间的 verifier这两个定义是不矛盾的,因为如果一台非确定TM在多项式时间内可以判定一个非确定选择的翰入是否满足,就是基于 verifier的定义。P和NP的区别a problem is in P if we can decide them in polynomial time. It is in NP if we candecide them in polynomial time, if we are given the right certificate42.若存在计算函数f的多项式界限的图灵机M,则f称为多项式时间可计算的43.若τ1是L1->l2的多项式归约,τ2是L2->I3的多项式归约,则τ1τ2是L1->l3的多项式归约44.证明NP完全法一、按定义:LΣ*,若(a)L∈NP,且(b)对每个语言L∈NP,存在从L到L的多项式归约则L称为NP完全的。法二、归约,对于语言L,(a)若L∈NP(b)一个NP完全问题可以在多项式时间规约到L,ie. SAT 0 is context-free but not regular49.L=L1L2,L是CFL,则L1一定是CFL(x50. Regular-CFL不一定是CFL,如a*b*c*-anbn包含 anben51. 2-way PDalie PDa whose input heads can move both left and right] are more powerfulthan 1-way pda52. Given a PDa M1 and an fa M2, the problem l(M1)cl(M2)is decidable53.DFA/NFA识别的是 exactly正则语言54.Re.只在补和差下不封闭,CFL在交下也不封闭55.非正则语言的可能是正则语言。比如A:[W=w}及所有回文,A=*,为正则语言56.典型非正则:w=wR57.正则语言的子集可能非正则,如 anben是a*b*c*的子集;又如Σ*是正则语言,H≌Σ*58.归约:X到Y的归约可以理解为X到Y问题的映射, reduction可以解释为 at least asdifficult as….比如ⅹ可以被Y的算法解决,则 X is no more difficult than yⅩ可以约到Y,记X≤Y。e.gx2可以归约到任意两数的乘积。若有A≤B,A是不可判定问题>B不可判定A不递归->B不递归B可判定>A可判定B是递归的->A是递归的59.若X多项式时间归约到Y,Y多项式时间可解,则X多项式时间可解若X多项式时间归约到Y,Ⅹ多项式时间不可解,则Y多项式时间不可解60.X多项式时间归约到Y,Y多项式时间归约到Z,则X多项式时间归约到Z61.PRME( COMPOSITE)多项式时间归约到 Factor,但是 Factor多项式时间不能归约到PRIME COMPOSITE )o62.若A≤PB,B∈NP,则A∈NP。证明A≤PB→存在确定图灵机X,可将A归约到B。B∈NP→存在一个非确定图灵机N可判定B。我们希望构造一个新的TM(ⅹN)是的ⅹ*N非确定多项式时间求解A,则A∈NPRunning time of X*N≤1+p(mB>+qp(m)(B多项式时间非确定判定是多项式时间所以A∈NP63若AsPB,B∈P,则A∈P64.若X是NPC的,则X在多项式时间内可解ifP=NP65.SAT多项式时间归约到3SA(3AT是NPC的)66.证明语言L是R/Re, Non rea) Intuitively想想有没有半判定(判定)的TM,有则Rc、(R)。若非R执行下一步。b)用能否由Re.( Non re.)语言归约到该语言,能则Re而非R( Non re)严格用归约函数定义f:A≤B,r1∈A当且仅当r1∈Beg1∈H,M∈L证明Recg2∈非H,iM∈L证明 Non rc注意方向:是从A的实例经过递归函数推向B的实例。详细介绍http://www.cs.rice.edu/nakhleh/comp481/finalreviewsp06sol.pdf67.递归与μ递归等价68.PDA中,若每一个格局至多有一个格局接在它后面,则为确定型的。确定型CF在补下封闭69.M半判定L:w∈L,ifM在w上停机,注意半判定图灵机中不存在“拒绝”状态。只要不接受w,就不停机。70. Chomsky hierarchyElements of the Chomsky HierarchyRecursively enumerable languagesRecursive languageContext sensitive languagesContext ee languageseterministccontext free languagesRegularanguages71.俩证明7.6证明P在并、交、 Kleene*连接和补运算下封闭(1)并:对任意L,LEP,遴n时间图灵机M1和nb时间图灵机M2判定它们且c=max{ab}对L1L2构造判定器MM=“对于输入字符串w1)在W上运行M1,在w上运行M22)若有一个接受则接受,否则拒绝。时间复杂度:设M1为0(n)M2为0(m)。令c=max{ab}第一步用时0(n+n),因此总时间为Oma+n)=0(n9所以L1L2属于P类,即P在并的运算下封闭。(2)连接对任意L1,L2属于P类,设有n时间图灵机M1和m时间图灵机M2判定它们,且c=max{ab}。对L1l2构造判定器MM=“对于输入字符串w=w2灬,Wn对k=0,1,21…,n重复下列步骤。在wW2…wk上运行M1,在wk1wk+2…n上运行M若都接受,则接受。否则继续。若对所有分法都不接受则拒绝。时间复杂度:(n+1x0(n+0m-0(m+4)+0(nb+4=0(nc+),F以L1oL2属于P类,即P在连接的运算下封闭。对任意L属于P类,设有时间0(n)判定器M判定它,对构造判定器MM=“对于输入字符串〔1)在w上运行M12)若M1接受则拒绝,若M1拒绝则接受。时间复杂度为:0(m)。所以属于P类,即P在补的运算下封闭。77证明NP在并和连接运算下封闭。1)并对任意L1,L2∈NP,设分别有n时间非确定图灵机M1和n时间非确定图灵机M2判定它们,且c=max{a,b}。构造判定LL2的非确定图灵机M:M=“对于输入字符串w1)在W上运行M1,在w上运行M2。2)若有一个接受则接受,否则拒绝。对于每一个非确定计算分支,第一步用时为O(n-)+O(n),因此总时间为On+n)=0(n。所以LLz∈NP,即NP在并的运算下封闭2)连接对任意L,L2∈NP设分别有na时间非确定图灵机M1和m时间非确定图灵机M2判定它们,且c=max{ab}。构造判定L1oL2的非确定图灵机M:M=“对于输入字符串w:1〕非确定地将分成两段xy,使得w=xy。2)在x上运行M1,在y上运行M23)若都接受则接受,否则拒绝。对于每一个非确定计算分支,第一步用时O(n,第二步用时为0(n)+0(m),因此总时间为o(n+m)=0(n。所以L1oL2∈NP,即NP在连接运算下封闭。专题一一图灵机可判定性问题判定以下问题是否可判定:声明:思路—想证明B问题不可解,1.从一个不可解问题A入手(如停机问题)2.创建B的—个实例,从中推出如果能解决B,A也就可以解决了3.所以B是不可解的1.一个图灵机有至少481个状态。我们可以给出这样一个TMN进行cnc(M)a)数M中状态数,直到481b)如果达到了481,N就接受,否则拒绝2.给定图灵机在空串上走了481步还没停机。构造2带图灵机N,a)2a带:写481个0b)1s带在空串上模拟M,每走一步,第2带就删掉一个0c)如果M在所有0都删掉之后停机,则N接受,否则不接受给定图灵机,判定它是否在一些输入上经过481步还没停机?a)按字典序找出所有 length
- 2020-12-01下载
- 积分:1