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
卷积神经网络CNN学习笔记 pdf
个人整理的CNN学习笔记,所有素材均来自于互联网。把经典的摘之以作备案,待整理好这份笔记后,发现对CNN也有了深入理解,希望对你也有帮助!LOCALLY CONNECTED NEURAL NETCONVOLUTIONAL NETSTATIONARI? Statisties issimilar at dif ferent locationsLearn multiple filters.Example: 1000x1000 image1M hidden unitsFilter size: 10x10E.g. 1000x1000 image100M parameters100 FiltersFilter size: 10x10u鴻網互聯EEIDEE下面的分析来源于:htp/ log csdn. net/zouxy09/ article/details,/8781543我们知道,隐含层的每一个神经元都连接10x10个图像区域,也就是说每一个神经元存在10x10=100个连接权值参数。那如果我们每个神经元这100个参教是相同的呢?也就是说每个神经元用的是同一个卷积核去卷积图像。这样我们就只有多少个参数??只有100个参数啊!!!亲!不管你隐层的神经元个数有多少,两层间的连接我只有100个参数啊!亲!这就是权值共享啊!亲!这就是卷积神经网络的主打卖点啊!亲!(有点烦了,呵呵)也许你会问,这样做靠谱吗?为什么可行呢?好了,你就会想,这样提取特征也忒不靠谱吧,这样你只提取了一种特征啊?对了,頁聪明,我们需要提取多种特征对不?假如一种滤波器,也就是一种卷积核就是提出图像的一种特征,例如某个方向的边缘。那么我们需要提取不同的特征,怎么办,加多几种滤波器不就行了吗?对∫。所以假设我们加到100种滤波器,每种滤波器的参数不一样,表示它提出输入图像的不同特征,例如不同的边缘。这样每种滤波器去卷积图像就得到对图像的不同特征的放映,我们称之为 Feature Map。所以100种卷积核就有100个 Feature Map。这100个 Feature Map就组成了一层神经元。到这个时候明了了吧。我们这一层有多少个参数了?100种卷积核x每种卷积核共享100个参数=100×100=10K,也就是1万个参数。才1万个参数啊!亲!(又来了,受不了了!)见上图右:不同的颜色表达不同的滤波器嘿哟,遗漏一个问题了。刚才说隐层的参数个数和隐层的神经元个数无关,只和滤波器的大小和滤波器种类的多少有关。那么隐层的神经元个数怎么确定呢?它和原图像,也就是输入的大小(神经元个数)、滤波器的大小和滤波器在图像中的滑动步长都有关!例如,我的图像是1000×1000像素,而滤波器大小是10×10,假设滤波器没有重叠,也就是步长为10,这样隐层的神经元个数就是(1000×1000y(10×10}=100×100个神经元了,假设步长是8,也就是卷积核会重叠两个像素,那么……我就不算了,思想懂了就好。注意了,这只是一种滤波器,也就是一个 Feature Map的神经元个数哦,如果100个 Feature Map就是100倍了。由此可见,图像越大,神经元个数和需要训练的权值参数个数的贫富差距就越大。CONV NETS: EXTENSIONSBypool ing"(e. g. max or average)filterresponses at different locations we gain Over the years. some new medes have proven to be veryrubustness to the exact spatial location effective when plugged inte corv-netsof featuresL2 PoolingU, kEN(x,r)Local Contrast normalizationhN(x y)iN(xvIRenato总之,卷积网络的核心思想是将:局部感受野、权值共享(或者权值复制)以及时间或空间亚采样这三种结构思想结合起来获得了某种程度的位移、尺度、形变不变性。23实例视觉皮层存在两类相关的细胞,S细胞( Simple Cel)和C( Complex Cell)细胞。S细胞在自身的感受野内最大限度地对图像中类似边缘模式的剌激做出响应,而C细胞具有更大的感受野,它可以对图像中产生刺激的模式的空间位置进行精准地定位C是卷积层,S是下采样层。参看这个两个网址,对理解CNN非常有帮助http://www.68idc.cn/help/buildlang/ask/20150705417730.htmlhttp://www.68idc.cn/help/buildlang/ask/20150705419299.html涵pC1s2c384江蘇鴻網互刷三 -TOLERc是卷积层,S是下采样层。输入的一幅图像,在C1层,通过和3个卷积模板做卷积运算,然后加上偏置值,再经过 sigmoid激活函数,得到3幅输出图像,在S2层,对C1层输出的3幅图像做下采样,假设采样因子是2,也就是图中每2*2的 patch中的4个像素进行求和,再加偏置,再通过激活函数,得到3张尺寸减小了的输出图像。同样的,再经过C3S4。将S4的输出拉成一个向量,输入传统的神经网络中,并得到输出24综合实例G1: feature maps8@28X28C3: f. mapInp ut20@10x1032×32S1: f. mapsS4: f. maps@14x1420@5x5C5:120Output: 9ConvolutionsSubsamplingSubsamplingconnectionConvolutions og. Csdn. n Convolutions 688图中的卷积网终Ⅰ作流程如下,输入层由32×32个感知节点组成,接收原始图像。然后,计算流程在卷积和子抽样之间交替进行,如下所述·第一隐藏层进行卷积,它由8个特征映射组成,每个特征映射由28×28个神经元组成,每个神经元指定一个5×5的接受域,这28×28个神经元共享5×5个权值参数,即卷积核第二隐藏层实现子抽样和局部平均,它同样由8个特征映射组成,但其每个特征映射由14×14个神经元组成。每个神经元具有一个2×2的接受域,一个可训练系数,一个可训练偏置和一个 sigmoid激活函数。可训练系数和偏置控制神经元的操作点;第三隐藏层进行第二次卷积,它由20个特征映射组成,每个特征映射由10×10个神经元组成。该隐藏层中的每个神经元可能具有和下一个隐藏层几个特征映射相连的突触连接,它以与第一个卷积层相似的方式操作。第四个隐藏层进行第二次子抽样和局部平均汁算。它由20个特征映射组成,但每个特征映射由5×5个神经元组成,它以与第一次抽样相似的方式操作。●第五个隐藏层实现卷积的最后阶段,它由120个神经元组成,每个神经元指定一个5×5的接受域。最后是个全连接层,得到输出向量。综合起来,如下图山辆入员/閩张38的圈像辆入|种特图到C28×28KD卷,:对应位遇相森再未和⊙如偏置每种图有个偏置a老积层f同治减函数6↑5的卷铝kC6个偏置值b输邶钟培钲图24X0mno:22域的值平均坐smle=2辆入6种征图列12|2k2个55的着核kKk22个偏置值b辆出12钟特钲图8×88×g年怦居D mean pooL斜样9=2s输出口钟特征图4x叶把S园輪出的特征图垣成一年向量入,维,:平4x×12=12F房入节点有2个192资接的神经刚络W1,09W参教W:20×192矩阵爹教bho0x1向量oh辆出节点有个,国为baby的度是o·上图中28如何变成24的?12如何变成8的?详情见这个网址:hto:/ud. stanfordedu/wki/ index. php/ Featureextractionusing convolution这个过程中,有这么几个参数:a.深度 depth:神经元个数,决定输出的dept厚度。同时代表滤波器个数。*b.步长 stride:决定滑动多少步可以到边缘。C.填充值zero- padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。最左边一列是输入层,第二列是第一个滤波器(W0),第三列是第二个滤波器(W1),第四列是输出层。*该图有两个神经元,即 depth=2,意味着有两个滤波器数据窗口每次移动两个步长取3*3的局部数据,即stde=2。zero-padding=13cNN的激励层与池化层ReLU激励层不要用 sigmoid,因为它容易饱和、造成终止梯度传递,且没有0中心化ReLU的优点是收敛快,求梯度简单。·池化poo层池化,简言之,即取区域平均或最大,如下图所示Single depth slice1124Xmax pool with 2X2 filters5678 and stride 26832234304y参考文献:·htp:/ yann lecun. com/exdb/lenet/index. html( Yann securη实现的CNN演示,以动画的形式演示了位移、加噪、旋转、压缩等识别,最有价值的是把隐层用图像显示出来了,很生动形象)
- 2021-05-07下载
- 积分:1