MatLab 完整第10章PPT课件_第1页
MatLab 完整第10章PPT课件_第2页
MatLab 完整第10章PPT课件_第3页
MatLab 完整第10章PPT课件_第4页
MatLab 完整第10章PPT课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章Simulink仿真环境,Simulink是一个以MATLAB为基础的软件包,用于对动态系统进行建模和仿真。【本章学习目标】熟悉Simulink的操作环境。掌握绘制系统模型的方法。掌握子系统模块的建立与封装技术。了解S函数的功能与设计方法。,10.1初识Simulink一个简单的仿真实例,在MATLAB的命令窗口输入Simulink,或单击MATLAB主窗口工具栏上的“Simulink”命令按钮即可启动Simulink。Simulink启动后会显示如图10.1所示的Simulink模块库浏览器(SimulinkLibraryBrowser)窗口。,1模型元素一个典型的Simulinnk模型包括以下3种元素。信号源(Source)被模拟的系统模块信号输出(Sink)2仿真步骤(1)建立系统仿真模型,包括添加模块、设置模块参数、进行模块连接等操作。(2)设置仿真参数。(3)启动仿真并分析仿真结果。,3仿真实例【例10.1】利用Simulink仿真曲线。正弦信号由信号源模块库(Sources)中的SineWave模块提供,求和用数学运算模块库(MathOperations)中的数学函数模块(Add)产生,再用信号输出模块库(Sinks)中的示波器模块(Scope)输出波形(1)打开一个名为untitled的模型编辑窗口(2)将所需模块添加到模型中。(3)用连线将各个模块连接起来组成系统仿真模型(4)设置模块参数并连接各个模块组成仿真模型。,模型建好后,将模型以模型文件的格式(扩展名为.mdl)存盘。,(5)设置系统仿真参数。(6)仿真操作。,10.2仿真模型的建立,10.2.1Simulink的基本模块模块是构成系统仿真模型的基本单元。构建系统仿真模型主要涉及Simulink模块的操作。基本模块库专业模块库,10.2.2模块操作1添加与删除模块2选取模块3复制模块4模块外形的调整5模块名的处理,10.2.3模块的连接1连接两个模块2模块间连线的调整3连线的分支4标注连线,10.3系统的仿真与分析,10.2.4模块的参数和属性设置1模块的参数设置2模块的属性设置Description:对该模块在模型中的用法进行说明。Priority:规定该模块在模型中相对于其他模块执行的优先顺序。Tag:用户为模块添加的文本格式的标记。“BlockAnnotation”选项卡中指定在该模块的图标下显示模块的哪个参数。“Callbacks”选项卡中指定当对该模块实施某种操作时需要执行的MATLAB命令或程序。,10.3.1设置仿真参数打开系统仿真模型,从模型编辑窗口的“Simulation”菜单中选择“ConfigurationParameters”命令,打开一个仿真参数对话框,在其中可以设置仿真参数。在此对话框中,仿真参数设置被分为8类。Solver类:用于设置仿真起始和停止时间,选择微分方程求解算法并为其规定参数,以及选择某些输出选项。DataImport/Export类:用于管理工作空间数据的导入和导出。Optimization类:用于设置仿真优化模式。Diagnostics类:用于设置在仿真过程中出现各类错误时发出警告的等级。HardwareImplementation类:用于设置实现仿真的硬件。ModelReferencing类:用于设置参考模型。SimulationTarget类:用于设置仿真模型目标。HDLCoder类:用于设置通过自动代码生成技术将设计算法生成HDL代码的方法,1Solver类设置(1)设置仿真起始和停止时间(Simulinktime)(2)仿真算法的选择(Solveroptions)在“Type”编辑框中设定算法类别:固定步长(Fixed-step)和变步长(Variable-step)算法,在“Solver”编辑框中选择具体算法。,2DataImport/Export类设置矩阵形式。MATLAB把矩阵的第一列默认为时间向量,后面的每一列对应每一个输入端口,矩阵的第一行表示某一时刻各输入端口的输入状态。另外,也可以把矩阵分开来表示,即MATLAB默认的表示方法t,u,其中t是一维时间列向量,表示仿真时间,u是和t长度相等的n维列向量(n表示输入端口的数量),表示状态值。例如,在命令窗口中定义t和u:t=(0:0.1:10);u=sin(t),cos(t).*sin(t),exp(-2*t).*sin(t);,包含时间数据的结构形式。结构变量包含若干个成员,对结构成员的引用格式为:结构变量名.成员名。在结构中必须有成员:time和signals。在time成员中包含一个列向量,表示仿真时间;在signals成员中包含一个数组,数组中的每个元素对应一个输入端口,并且每个元素必须包含一个名字同样不能改变的values成员,values成员也包含一个列向量,对应于输入端口的输入数据。例如,对于上例,若改为包含数据的结构输入,则命令格式如下:t=(0:0.1:10);A.time=t;A.signals(1).values=sin(t);A.signals(2).values=cos(t).*sin(t);A.signals(3).values=exp(-2*t).*sin(t);,(2)保存到工作空间(Savetoworkspace)在Savetoworkspace栏中,可以选择的选项有:Time(时钟)、States(状态)、Output(输出端口)、Finalstate(最终状态)和Signallogging(信号)。同载入数据的形式一样,保存数据也有矩阵、结构和包含时间数据的结构3种形式,(3)保存选项(Saveoptions)在保存选项栏中的“Format”下拉列表中有矩阵、结构和包含时间的结构3种选择。“Limitdatapointstolast”用来限定保存到工作空间中的数据的最大长度。输出选项(Outputoptions)有:Refineoutput(细化输出)Produceadditionaloutput(产生附加输出)Producespecifiedoutputonly(仅在指定的时刻产生输出),10.3.2仿真结果分析为了观察仿真结果的变化轨迹可以采用3种方法。(1)把输出结果送给Scope模块或者XYGraph模块。Scope模块显示系统输出量对于仿真时间的变化曲线,XYGraph模块显示送到该模块上的两个信号中的一个对另一个的变化关系。(2)把仿真结果送到输出端口并作为返回变量,然后使用MATLAB命令画出该变量的变化曲线。(3)把输出结果送到ToWorkspace模块,从而将结果直接存入工作空间,然后用MATLAB命令画出该变量的变化曲线。,【例10.2】利用Simulink仿真求I=首先打开一个模型编辑窗口,将所需模块添加到模型中。设置模块参数并连接各个模块组成仿真模型。,设置系统仿真停止时间为2s。单击模型编辑窗口中的Startsimulation按钮或选择模型编辑窗口Simulation菜单中的Start命令开始系统仿真。系统仿真结束后,显示模块Display,显示仿真结果为4。,10.3.3系统仿真实例【例10.3】有初始状态为0的二阶微分方程y+1.5y+10y=2u(t)+10u(t),其中u(t)是单位阶跃函数,试建立系统模型并仿真。方法1:用微分/积分器直接构造求解微分方程的模型。把原微分方程改写为y=2u(t)+10u(t)1.5y10yu经微分作用得u,y经积分作用得y,y再经积分模块作用就得y,而u、u、y和y经代数运算又产生y,据此可以建立系统模型并仿真。(1)利用Simulink模块库中的基本模块建立系统模型,(2)设置系统仿真参数。在模型编辑窗口的Simulationstoptime栏把仿真的停止时间设置为5。(3)仿真操作。,10.4子系统与封装,子系统把功能上有关的一些模块集中到一起保存,能够完成几个模块的功能。10.4.1子系统的建立1通过Subsystem模块建立子系统新建一个仿真模型,打开Simulink模块库中的Ports%初始化case3sys=mdlOutputs(t,x,u,k);%计算输出量case1,2,4,9sys=;otherwise%出错处理error(UnhandledFlag,num2str(flag);end,%mdlInitializeSizes:当flag为0时进行整个系统的初始化functionsys,x0,str,ts=mdlInitializeSizes()%调用函数simsizes以创建结构sizessizes=simsizes;%用初始化信息填充结构sizessizes.NumContStates=0;%无连续状态sizes.NumDiscStates=0;%无离散状态sizes.NumOutputs=1;%有一个输出量sizes.NumInputs=1;%有一个输入信号sizes.DirFeedthrough=1;%输出量中含有输入量sizes.NumSampleTimes=1;%单个采样周期%根据上面的设置设定系统初始化参数sys=simsizes(sizes);%给其他返回参数赋值x0=;%设置初始状态为零状态str=;%将str变量设置为空字符串ts=-1,0;%假定继承输入信号的采样周期%mdlOutputs:当flag值为3时,计算输出量functionsys=mdlOutputs(t,x,u,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论