第四章第三部分Matlab_Simulink操作_第1页
第四章第三部分Matlab_Simulink操作_第2页
第四章第三部分Matlab_Simulink操作_第3页
第四章第三部分Matlab_Simulink操作_第4页
第四章第三部分Matlab_Simulink操作_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

1、-1-Matlab Simulink仿真仿真-2-Simulink于20世纪90年代由Mathworks公司开发,是Matlab环境下对动态系统进行建模、仿真和分析的一个软件包Simu:系统仿真Link:系统连接在该软件环境下,用户可以在屏幕上调用现成的模块,并将它们适当连接起来以构成系统的模型,即所谓的可视化建模。建模以后,以该模型为对象运行Simulink中的仿真程序,可以对模型进行仿真,并可以随时观察仿真结果和干预仿真过程。-3-p1 Simulink操作基础p2 系统仿真模型p3 系统的仿真p4 使用命令操作对系统进行仿真p5 子系统及其封装技术p6 S函数的设计与应用-4-1.1 S

2、imulink简介简介pSimulink既适合于线性系统,非线性系统,既适用于连续系统,也适合于离散系统和连续系统与离散混合系统,既适合于定常系统,也适用于时变系统。pSimulink提供用户图形用户界面。用户可以用鼠标操作,从模块库中调用标准模块,将它们适当地连接起来以构成动态系统模型,并且用各模块的参数对话框为系统中各模块设置模块。当各种模块的参数设置完成之后,即建立起该系统的模型。-5-1.1 Simulink简介简介pSimulink模块库内容十分丰富,除包括输入信号源模块库(sources)、输出接收模块库(sinks)、连续系统模块库(continuous)、离散系统模块库(dis

3、crete)、数学运算模块库(math operations)等许多模块外,用户还可以自定义和创建模块。p系统的模型建立以后,选择仿真参数和数值算法,便可以启动仿真程序对该系统进行仿真。p在仿真过程中,用户可以设置不同的输出方式来观察仿真结果。-6-1.2 Simulink的启动与退出的启动与退出pSimulink不能独立运行,只能在Matlab环境下运行pSimulink的启动pSimulink的退出-7-1.2 Simulink的启动与退出的启动与退出-8-1.2 Simulink的启动与退出的启动与退出-9-1.2 Simulink的启动与退出的启动与退出-10-1.2 Simulink

4、的启动与退出的启动与退出-11-p1 Simulink操作基础p2 系统仿真模型p3 系统的仿真p4 使用命令操作对系统进行仿真p5 子系统及其封装技术p6 S函数的设计与应用-12-2.1 Simulink仿真模型概述仿真模型概述pSimulink仿真模型在视觉上表现为直观的方框图,其扩展名为.mdl,在数学上体现了一组微分方程或差分方程,在物理上模拟了物理器件构成的实际系统的动态特性p模块是构成系统仿真模型的基本单元。从宏观角度上看,simulink模型通常包含了3类模块:信源(source)、系统(system)和信宿(sink)。-13-2.1 Simulink仿真模型概述仿真模型概述

5、pSimulink的模块库提供了大量的模块-14-2.2 模块的编辑模块的编辑p添加模块p选取模块 单个模块、多个模块 p复制与删除模块p模块外形的调整 大小、方向(rotate block)、颜色(foreground color)、阴影(show drop shadow)p模块名的处理 隐藏(hide name)、修改模块名、修改字体(font)-15-2.3 模块的连接模块的连接p连接两个模块 先移动光标到输出端,光标键头会变成十字形光标,这时按住鼠标左键,移动鼠标到另一个模块的输入端,当十字形光标出现重影时,释放鼠标左键就完成了连接Sine Wave2Sine Wave1Sine Wa

6、veScope2Scope1Scope-16-2.3 模块的连接模块的连接p模块间连线的调整 调整模块间的连线位置可采用鼠标拖动操作来实 现 把一条直线分成斜线段,先按住鼠标左键之前要先按下shift键,出现黑色小方块之后,拖曳小方块到目标位置后释放鼠标和shift键 -17-Sine WaveScope2Scope2.3 模块的连接模块的连接p连线的分支 先连好一条线之后,把鼠标移到分支点的位置,先按下Ctrl键,然后按住鼠标拖动目标模块的输入端,释放鼠标和Ctrl键-18-2.3 模块的连接模块的连接p标注连线p删除连线sin wave sin waveSine WaveScope2Sco

7、pe-19-2.4 模块的参数和属性设置模块的参数和属性设置p模块的参数设置 双击要设置的模块或在模块上按鼠标的右键并在弹出的快捷菜单中选择相应模块的参数设置命令就会弹出模块参数对话框。 功能模块说明、模块参数设置 幅值、频率、相位、采样时间等-20-2.4 模块的参数和属性设置模块的参数和属性设置-21-2.4 模块的参数和属性设置模块的参数和属性设置p模块的属性设置 模块上单击鼠标右键并在弹出的快捷菜单中选择Block Properties;或先选择要设置的模块,再在模型编辑窗口的Edit菜单中选择Block Properties-22-2.4 模块的参数和属性设置模块的参数和属性设置pD

8、escription:对该模块在模型中的用法进行说明pPriority: 规定该模块在模型中的相对于其他执行模块执行的优先顺序pTag: 用户为模块添加的文本格式的标记-23-2Out21Out1Product2Product1ProducteuMathFunction1sIntegrator11sIntegrator-0.5ConstantClock2.4 模块的参数和属性设置模块的参数和属性设置texxtxx5 . 02221-24-2.4 模块的参数和属性设置模块的参数和属性设置-25-2.5 Simulink的几类基本模块的几类基本模块p输入源模块Model & Subsyst

9、em InputsSignal GeneratorsUniform RandomNumberStepSine WaveSignal 1Signal BuilderSignalGeneratorRepeatingSequenceStairRepeatingSequenceInterpolatedRepeatingSequenceRandomNumberRampPulseGeneratorGrounduntitled.matFrom FilesiminFromWorkspace12:34Digital ClocklimCounterLimitedCounterFree-Running1Consta

10、ntClockChirp SignalBand-LimitedWhite Noise1In1-26-2.5 Simulink的几类基本模块的几类基本模块p接收模块Model & Subsystem OutputsSimulation ControlData Viewers1Out1XY GraphsimoutTo Workspaceuntitled.matTo FileTerminatorSTOPStop SimulationScopeFloatingScope0Display-27-2.5 Simulink的几类基本模块的几类基本模块p连续系统模块Continuous-Time Li

11、near SystemsContinuous-Time Delays(s-1)s(s+1)Zero-PoleTiVariableTransport DelayToVariableTime DelayTransportDelay1s+1Transfer Fcnx = Ax+Bu y = Cx+DuState-Space1sIntegratordu/dtDerivative-28-2.5 Simulink的几类基本模块的几类基本模块p离散系统模块Sample & Hold DelaysDiscrete-Time Linear SystemsZero-OrderHoldWeightedMov

12、ing Averagez1Unit Delayz-0.75zTransfer FcnReal Zeroz-0.75z-0.95Transfer FcnLead or Lag0.05zz-0.95Transfer FcnFirst Order 4DelaysTapped DelayMemory -4Z Integer DelayFirst-OrderHoldK Tsz-1Discrete-TimeIntegratory(n)=Cx(n)+Du(n)x(n+1)=Ax(n)+Bu(n)Discrete State-Space1 1+0.5z -1Discrete FilterK (z-1)Ts z

13、Discrete Derivative(z-1)z(z-0.5)DiscreteZero-Pole1z+0.5DiscreteTransfer Fcnz-1zDifference-29-2.5 Simulink的几类基本模块的几类基本模块p数学运算模块Vector/Matrix OperationsMath OperationsComplex Vector Conversionsu+TsWeightedSample TimeMathVectorConcatenate-uUnary MinussinTrigonometricFunctionSum ofElementsSumSubtract1Sl

14、iderGaintSine WaveFunctionSignfloorRoundingFunctionU( : )ReshapeReImReal-Imag toComplexProduct ofElementsProductP(u)O(P) = 5PolynomialuRymin(u,y)MinMaxRunningResettableminMinMaxMatrixConcatenateeuMathFunction|.|Magnitude-Angleto Complex1GainDot ProductDivideRe(u)Im(u)Complex toReal-Imag|u|uComplex t

15、oMagnitude-Angleu+0.0BiasU1 - YU2 - Y(E)YAssignmentf(z)zSolvef(z) = 0Algebraic ConstraintAdd|u|Abs-30-p1 Simulink操作基础p2 系统仿真模型p3 系统的仿真p4 使用命令操作对系统进行仿真p5 子系统及其封装技术p6 S函数的设计与应用-31-3.1 设置仿真参数设置仿真参数p打开系统仿真模型,从模型编辑窗口的simulink菜单中选择configuration parameters命令,打开仿真参数对话框,在其中可以设置仿真参数。-32-3.1 设置仿真参数设置仿真参数-33-3.

16、1 设置仿真参数设置仿真参数-34-3.1 设置仿真参数设置仿真参数-35-3.1 设置仿真参数设置仿真参数p从工作空间中导入数据(load from workspace)-36-3.1 设置仿真参数设置仿真参数p从工作空间中导入数据p矩阵形式t=0:0.1:10;u=sin(t),cos(t).*sin(t),exp(-2*t).*sin(t);Scope2Scope1Scope3In32In21In1-37-3.1 设置仿真参数设置仿真参数-38-3.1 设置仿真参数设置仿真参数p包含时间数据的结构形式 两个名字不能改变的顶级成员:time和signals time成员中包含一个列向量,表

17、示仿真时间 signals成员中包含一个数组,数组中的每个元素对于一个输入端口,并且每个元素必须包含一个名字同样不能改变的values成员;values成员也包含一个列向量,对应于输入端口的输入数据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);-39-3.1 设置仿真参数设置仿真参数p保存到工作空间 (save to workspace)矩阵形式包含时间数据的结构形式-40-3.1 设置仿真参数设置仿真参数p保存选项(sav

18、e options)Format选项说明数据的保存格式,有矩阵、结构和包含时间的结构Limit data points to last用来限定保存到工作空间中的数据的最大长度Output options用来设置输出选项设置Refine output:使输出的数据曲线更加平滑Produce additional output:由用户指定产生输出的附加时刻Produce specified output only:仅仅提供在指定的时间点上的输出值-41-3.1 设置仿真参数设置仿真参数pDiagnostics选项设置None:不做任何反应,在任何情况下都不影响程序运行Warning:提示警告,但警

19、告信息不影响程序的运行Error:提示错误,在提示错误后,运行中的程序将停止-42-3.1 设置仿真参数设置仿真参数-43-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析p从simulation中选择start菜单项或单击模型编辑窗口中的start simulation命令按钮,便可启动对当前模型的仿真。p3种方法观察仿真结果的变化轨迹把输出结果送给Scope模块或者XY Graph模块-44-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析Scope-45-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析Sine Wave1Sine WaveScope-

20、46-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析p把仿真结果送到输出端口并作为返回变量,然后利用Matlab命令绘制出该变量的变化曲线1Out1Sine Wave-47-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析-48-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析whos Name Size Bytes Class tout 51x1 408 double array yout 51x1 408 double arrayGrand total is 102 elements using 816 bytes012345678910-1-0.8-

21、0.6-0.4-0.200.20.40.60.81-49-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析p把输出结果送到To workspace模块,从而将结果直接存入工作空间yTo WorkspaceSine Wave-50-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析p方法一:采用Matlab函数模块p建立M函数文件f.mpFunction y=f(t)pY=5*t*t+16p启动simulink并打开模型编辑窗口1652 tyyTo Workspace1tTo WorkspaceScopeMATLABFunctionMATLAB FcnClock-51-3.

22、2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析p设置参数模块p启动仿真-52-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析p方法二:采用基本模块组合构建XY GraphScopeProduct5Gain16ConstantClock-53-3.2 启动系统仿真与仿真结果分析启动系统仿真与仿真结果分析-54-3.3 系统仿真实例系统仿真实例pSimulink进行系统仿真的步骤如下:p建立系统仿真模型,包括添加模块、设置模块参数以及进行模块连接等操作p设置仿真参数启动仿真并分析仿真结果-55-3.3 系统仿真实例系统仿真实例例:有初始状态为0的二阶微分方程 其中 是单位阶

23、跃函数,试建立系统模型并仿真 p方法一:用积分器直接构造求解微分方程的模型: 把原微分方程写为: )(2 . 04 . 02 . 0tuxxx )(tuxxtux4 . 02 . 0)(2 . 0 -56-3.3 系统仿真实例系统仿真实例xxxu(t)Scope1sIntegrator11sIntegrator0.2Gs0.2G20.4G1Add-57-3.3 系统仿真实例系统仿真实例-58-3.3 系统仿真实例系统仿真实例p方法二:利用传递函数模块建模对方程 两边进行Laplace变换:经整理得传递函数)(2 . 04 . 02 . 0tuxxx )(2 . 0)(4 . 0)(2 . 0)

24、(2sUsXssXsXs4 . 02 . 02 . 0)()()(2sssUsXsG-59-3.3 系统仿真实例系统仿真实例u(t)Scope0.2s +0.2s+0.42G(s)-60-3.3 系统仿真实例系统仿真实例p方法三:利用状态方程模块建模p令 , ,那么微分方程p可写为:p写成状态方程为:p其中:xx 1xx2)(2 . 0)(4 . 0)(2 . 0)(2sUsXssXsXs)(2 . 002 . 04 . 0102121tuxxxxxuxyuxxDCBA2 . 04 . 010A2 . 00B01 C0D-61-3.3 系统仿真实例系统仿真实例u(t)x = Ax+Bu y =

25、 Cx+DuState-SpaceScope-62-3.3 系统仿真实例系统仿真实例-63-p1 Simulink操作基础p2 系统仿真模型p3 系统的仿真p4 使用命令操作对系统进行仿真p5 子系统及其封装技术p6 S函数的设计与应用-64-4.4 使用命令操作对系统进行仿真使用命令操作对系统进行仿真pSim函数Sim函数的作用是运行一个由simulink建立的模型,其调用格式为:t,x,y=sim(modname,timespan,options,data);t: 仿真的时间向量x: 状态模型的状态矩阵y: 仿真的输出矩阵,每一列对应一个输出端口的输出数据-65-4.4 使用命令操作对系统

26、进行仿真使用命令操作对系统进行仿真modname: 模型的名字,用单引号括起来timespan: 用于指定仿真时间区间:tfinal指定仿真停止时间,开始时间默认为0;tstart tfinal指定开始时间和停止时间;tstart outputtims tfinal指定开始时间、要输出的时间和停止时间options:由simset函数设置的仿真参数,数据格式为结构data:外部输入到输入端口的数据注意:上述参数只有modname是必须的-66-4.4 使用命令操作对系统进行仿真使用命令操作对系统进行仿真t,x,y=sim(simul)whos Name Size Bytes Class t 5

27、2x1 416 double array x 52x3 1248 double array y 52x2 832 double arrayGrand total is 312 elements using 2496 bytes2Out21Out11s+1Transfer Fcn11s +s-12Transfer FcnSine Wave1Sine Wave-67-4.4 使用命令操作对系统进行仿真使用命令操作对系统进行仿真pt,x,y=sim(simul,2,8)pt,x,y=sim(simul,2,4,6,8)-68-4.4 使用命令操作对系统进行仿真使用命令操作对系统进行仿真pSimset

28、函数Simset函数用来为sim函数建立或编辑仿真参数或规定算法,并把设置结果保存在一个结构变量中pOptions=simset(property,value,): 把property代表的参数赋值为value,结果保存在结构options中pOptions=simset(old_opstruct,property,value,):把已有的结构old_opstruct中的参数property重新赋值为value,结果保存在新结构options中Options=simset(old_opstruct,new_opstruct):用结构new_opstruct的值代替已经存在的结构old_stru

29、ct的值-69-4.4 使用命令操作对系统进行仿真使用命令操作对系统进行仿真option=simset(outputvariables,x,outputpoints,all,finalstatename,data);t,x,y=sim(simul,1,10,option) whos Name Size Bytes Class data 1x3 24 double array option 1x1 3612 struct array t 0 x0 0 double array x 55x3 1320 double array y 0 x0 0 double arrayGrand total is

30、 205 elements using 4956 bytes-70-4.4 使用命令操作对系统进行仿真使用命令操作对系统进行仿真option=simset(outputvariables,txy);t,x,y=sim(simul,2 4 6 8,option)t = 2 4 6 8x = 0 0 0 0.1956 0.6051 -0.1413 -0.0950 0.4792 -0.6319 1.4455 1.5579 0.5658y = 0 0 0.6051 -0.1413 0.4792 -0.6319 1.5579 0.5658-71-p1 Simulink操作基础p2 系统仿真模型p3 系统

31、的仿真p4 使用命令操作对系统进行仿真p5 子系统及其封装技术p6 S函数的设计与应用-72-5.1 子系统的建立子系统的建立p通过subsystem模块建立子系统p先打开simulink模块库浏览器,新建一个仿真模型p打开simulink模块库中的ports&subsystems模块库,将subsystem模块添加到模型编辑窗口汇总双击subsystem模块打开一个空白的subsystem窗口,将要组合的模块添加到该窗口中-73-5.1 子系统的建立子系统的建立2Out21Out11sIntegratordu/dtDerivative2In21In1In1In2Out1Out2Sub

32、system-74-5.1 子系统的建立子系统的建立p通过已有的模块建立子系统p先选择要建立的子系统的模块,不包括输入端口和输出端口选择模型编辑窗口edit菜单中的create subsystem命令,这样,子系统就建立好了。-75-5.1 子系统的建立子系统的建立1Out1In1Out1Subsystem1In11Out11Ti.sTransfer Fcn1Td.sNTransfer FcnKpGainAdd1In1-76-5.2 子系统的条件执行子系统的条件执行p使能子系统使能子系统表示子系统在由控制信号控制时,控制信号由负变正时子系统开始执行,直到控制信号再次变为负时结束-77-5.2

33、子系统的条件执行子系统的条件执行p建立使能子系统2Out21Out11sIntegratordu/dtDerivativeEnable2In21In1In1In2Out1Out2Subsystem2Out21Out11sIntegratordu/dtDerivativeEnable2In21In1In1In2Out1Out2EnabledSubsystem-78-5.2 子系统的条件执行子系统的条件执行p利用使能子系统构成一个正弦半波整流器Sine WaveScopeIn1Out1EnabledSubsystem-79-5.2 子系统的条件执行子系统的条件执行p触发子系统触发子系统是指当触发事件发生时开始执行子系统,触发子系统在每次触发结束到下次触发之前总是保持上一词的输出值,而不会重新设置初始输出值。触发形式以Trigger模块参数对话框中Trigger type下拉列表框选择。Rising(上跳沿触发):控制信号从负值或0上升到正值Falling(下跳沿触发):控制信号从正值或0下降到负值Either(上跳沿或下跳沿触发):控制信号满足上跳沿或下跳沿触发Function-call(函数调用触发):表示子系统的触发由S函数的内部逻辑决定,与函数有关-80-5.2 子系统的条件执行子系统的条件执行In1Out1TriggeredSubsystem1Out1Trigg

温馨提示

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

评论

0/150

提交评论