MATLAB8.5教程第10章Simulink动态仿真.doc

上传人:scccc 文档编号:12495881 上传时间:2021-12-04 格式:DOC 页数:55 大小:1.09MB
返回 下载 相关 举报
MATLAB8.5教程第10章Simulink动态仿真.doc_第1页
第1页 / 共55页
MATLAB8.5教程第10章Simulink动态仿真.doc_第2页
第2页 / 共55页
MATLAB8.5教程第10章Simulink动态仿真.doc_第3页
第3页 / 共55页
MATLAB8.5教程第10章Simulink动态仿真.doc_第4页
第4页 / 共55页
MATLAB8.5教程第10章Simulink动态仿真.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《MATLAB8.5教程第10章Simulink动态仿真.doc》由会员分享,可在线阅读,更多相关《MATLAB8.5教程第10章Simulink动态仿真.doc(55页珍藏版)》请在三一文库上搜索。

1、第十章Simulink动态仿真 Simulink是MATLAB中的一种可视化仿真工具,它提供 动态系统建模仿真和综合分析的集成环境。利用 Simulink对实际问题的建模仿真过程就如同搭积木一样 简单,结构和流程清晰、仿真精细、适应面广。本章重点模型构建建模方法系统仿真10.1 Simulink 窗口本节对Simulink窗口的基本界面,模型编辑窗口组成及 菜单功能,以及仿真模型构成及步骤做一个整体介绍, 为进一步建立仿真模型打下基础。10.1.1 Simulink 启动与界面在MATLAB命令行窗口中输入simulink,按回车键<Enter);或在MATLAB操作窗口主页下,点击工具

2、栏的“Simulink Library”按钮都可打开simulink界面。首先出现的是Simulink库浏览器窗口 "Simulink LibraryBrowser55。 Simulink模块库浏览器窗口左边给出模块库及模块目录,右边列出了 Simulink公共模块库中的子库。10.1.2模型编辑窗口1.创建新模型在Simulink Library Browser的窗口中直接点击工具栏图标左 即可打开一个名为"untitled"的新建模型窗口;或 徒E/IATLAB操作窗口主页下,点击新建按钮于,从弹出 菜单中选取"Simulink Model"

3、;,也可打开新建模型窗口。 2.模型窗口组成模型建好之后开始进行各项操作,大部分的操作都在模型 钮的功能。口完成,因此要熟练掌握这些操作,了解各个菜单和按整个模型窗口包括:菜单栏、工具栏、模型浏览器窗口、 模型框图窗口和状态栏等部分。10.1.3模型构成及步骤T.仿真模型的构成一个典型的Simulink仿真模型由以下类型模块组成:(1)信号源模块。信号源为系统的输入,包括常数信号源、函数信号发生 器(如正弦波和阶跃函数)以及用户自己在MATLAB中 创建的自定义信号。(2)被模拟的系统模块。系统模块作为仿真的中心模块,它是Sinulink仿真建模 所要解决的主要问题。(3)输出显示模块。系统的

4、输出由显示模块接收。输出显示的形式包括示波 器显示、图形显示、以及输出到数据文件或MATLAB工 作区。 2.仿真过程的步骤(1)打开一个空白的模型窗口。(2)打开Simulink模块库浏览界面,将相应模块库中所需的模块拖到模型窗口里。 (3)设置各个模块的参数。双击需要进行参数设置的模块,在弹 出的对话框中,上半部分为参数说明,仔细阅读可以帮助用户设 置参数;下半部分供用户填写模块参数。 (4)用信号线将各个模块连接起来,搭建所需要的系统模型。(5)设置仿真参数。在模型窗口选择菜单“Simulink” -> “Model Configuration Parameters55 命令,打开

5、 仿真参数设置对话框,设置仿真参数。(6)启动仿真。选择模型窗口菜单“Simulink” -> "Run"命令, 仿真将执行。并可借助示波器等模块,显示仿真结果。(7)保存模型。10.1.4 Simulink的实例演示下面按照模型构建的步骤,给出一个简单示例,说明Simulink仿真过程。【例10-1创建求解微分方程dx=sin x(O) = O的正弦信号仿真模型。 此微分方程的解为:X(t) = -COSt+l我们建立的仿真信号应该与此函数的曲线一致。步骤1:打开空模块窗口。步骤2:添加模块。步骤3:连接模块。步骤4:运行仿真。步骤5:保存模型。10.2建模方法本节

6、详细介绍整个模型创建过程,包括模块操作、编辑 信号线和标注模型等操作方法。10.2.1模块操作1.模块的选定2.模块复制3.模块移动4.模块删除5.调整模块大小6.模块旋转7.模块名的编辑 8.颜色设定9.模块参数设置10.2.2模块连接1. 手动连接模块模块间连接是用信号线完成的,其方法是先将光标指向 一个模块的输出端,待光标变为十字符后,按下鼠标键 并拖动,直到另一模块的输入端。(1) 如果两个模块在一条水平线,则信号线是直线。(2) 如果两个模块不在一条水平线上,则信号线是折线。(3) 若要将折线改为多个折线,只需将拖曳的鼠标在需 要转折的地方释放鼠标,然后再按下鼠标继续拖曳,直 到另一

7、模块的输入端释放鼠标。(4) 若将信号线添加分支线,需将光标指向信号线的分 支点上,按住鼠标右键,光标变为十字符,拖动鼠标直 到分支线的终点,释放鼠标。 2.自动连接模块(1)先用鼠标选择模块,然后按下C廿I键,再用 鼠标单击目标模块,贝IJSimul ink会自动把源模块的输出 端口与目标模块的输入端口相连。 (2) Simul ink还能绕过某些干扰连接模块。(3) 一组源模块与一个目标模块连接。只要选择这组 源模块,然后按下吐门键,再用鼠标单击目标模块, 会自动产生多条信号线。I在信号线中插入模块如果模块只有一个输入端口和一个输出端口,则该模块 可以直接被插入到一条信号线中。 4.移动信

8、号线若想移动信号线的某段,单击选中此段;移动鼠标到目 标线段上,则鼠标的形状变为移动图标;按住鼠标,并 拖曳到新位置;放开鼠标,则信号线被移动到新的位置。5.删除信号线首先选中信号线,然后按Delete键,或者选择菜单 “Edit” T “Clear” 或 “Edit” T "Cut"命令进行删 除。6.信号线文本注释0)添加文本注释。双击需要添加文本注释的信号线, 则出现一个空的文字填写框,在其中输入文本。(2)修改文本注释。单击需要修改的文本注释,出现 虚线编辑框即可修改文本。(3)移动文本注释。单击标识,出现编辑框后,就可 以移动编辑框。(4)复制文本注释。单击需要复

9、制的文本注释,按下 (Ctrl键同时移动文本注释,或者用菜单和工具栏的 复制操作。W 10.2.3模型注释1. 添加模型的文本注释在需要当作注释区的中心位置,双击鼠标左键,就会 出现编辑框,在编辑框中就可以输入文字注释。2. 注释的移动在注释文字处单击鼠标左键,当出现文本编辑框后, 用鼠标就可以拖动该文本编辑框。科p 10.3运行仿真本节主要对模型仿真参数设置、数据输入输出、启动仿 真及仿真结果显示等内容进行介绍,逐步建成一个完整 的Simulink仿真系统。10.3.1设置仿真参数在模型窗口选择菜单"Simulation""ModelConfiguration

10、Parameters55命令,打开仿真参数设置 对话框,在此对话框中,选项"Select"包含以下几类: Solver:用于设置仿真起始和停止时间,选择微分方程求解算法 并为其规定参数,以及选择某些输出选项。 Data Import/Export:用于管理工作空间数据的导入和导出。 Optimization:用于设置仿真优化模式。 Diagnostics:用于设置在仿真过程中出现各类错误时发出警告的 等级。 Hardware Implementation:用于设置实现仿真的硬件。 Model Referencing:用于设置模型引用的有关参数。 Simulation Tar

11、get:用于设置仿真模型目标。 Code Generation:用于生成仿真代码、嵌入代码等。 HDLCode Generation:用于生成HDL代码。10.3.2输入与输出数据上面已讨论数据输入输出可用设置仿真参数"Simulation55 T "ModelConf iguration Parameters 中的选项 “Data Import/Export55 设置完 成,下面介绍使用Si mu I ink库中模块输入输出数据。 1输入数据在Source模块库中提供了两种常用模块“From File乃和“From Workspace",来输入自定义的信号源。其

12、中,"From File”模块将从“mat”文件中获取信号矩阵,信号以行的方式存放,第一行表示时间 变量,其余每行存放的是信号源序列;“From Workspace"模块将从 MATLAB的工作区中指定的数组或结构数组中读取数据。 (1) From Workspace模块主要参数。Data:指定工作空间中某个变量或者表达式,它代表一个二维数据矩阵或者是一个包含了信号数值和时间数值的结构数组变量。 Samp I e time:采样间隔,默认值为0。 Interpolate data:选择是否对数据插值。 From output after final data value b

13、y:确定该模块在读取完最后时刻的数据后,模块的输出值。 (2) From Fi le模块主要参数。 File name:输入数据的文件名,默认值为untitled, mate Samp I e time:采样间隔,默认值为0。 2.输出数据 (D数据输出到工作空间。如果仿真结果中的数据输出到工作空间Workspace,并写入到返回变量,可使用输出模块uOut155 o其此模块主要参数有: Port number:输出端口数,默认值为仁 Port dimensions:输出信号的维数,默认值为-1,表示动态设置维数 ;可以设置成n维向量或mXn维矩阵。Sample time:采样间隔,默认值为T

14、 ,表示与前一个模块采样间隔相 同。(2)数据写入到工作空间。使用“To Workspace"模块可把输出变量写入到MATLAB工作空间,其主要参数有: Variable name:模块的输出变量,默认值为simouto Limit data points to last:限制输出数据点的数目,模块会自动进 行截取数据的最后n个点5为设置数),默认值为inf。 Decimation:步长因子,默认值为 Samp I e time:采样间隔,默认值为T。Save format:输出变量格式,可以指定为数组、结构数组、时间序列等。千3)数据输出为数据文件。使用“To File55模块,输

15、出仿真数据到u. mat55文件,其文件格式按行存放,每行对应一个变量,第一行为时间数据,第二行开始的各行为其它输出变量相应的仿真值。 “To File55模块主要参数有: File name:保存数据的文件名,默认值为untitled, mate如果没有指 定路径,则存于MATLAB工作区目录。 Variable name:在文件所保存矩阵的变量名,默认值为ans。 Decimation:步长因子,默认值为1。Samp I e time:采样间隔,默认值为-1。Save format:输出变量格式,可以指定为数组和时间序列。10.3.3启动系统仿真-1.使用模型窗口启动仿真在当前运行的模型窗

16、口中,单击菜单“Simulation乃T “Run” ,启动仿真。也可使用工具 栏上的®按钮。 2.仿真结果输出 (1)示波器显示。若仿真结果要在示波器“Scope乃上显示,则首先双击示波器模块,打开示波器窗口(见图10-37,并标注了示波器工具栏功能),启动仿真后,信号就显示在Scope口中。打印输出_ 参数遁 视圏葩缩放 缩放X轴坐标 缩放Y轴坐标 视图自动缩放视圏酚缩放缩放x轴坐标缩放Y轴坐标自动缩放打开时间示波器-悬浮时信号选择器 去陰坐标轴选择 悬浮示波器开关 恢慕坐标轴iSH 保存当前坐标轴iSB图10-37示波器界面r (2)使用ou廿模块输出并显示。首先使用输出模块“

17、Out1”,将仿真结果中的数据 输出到工作区Workspace,然后在MATLAB命令行窗口 输入绘图命令,输出信号可显示在MATLAB图形窗口。(3)使用To Workspace模块输出并显示。例如,建立将正弦信号进行积分之后的数据,使用 To Workspace送到工作空间Workspace中的模型,如 图10-39所示。图 10-39 To Workspace输出模型(4)使用To File模块输出并显示。使用"To File”模块,将输出仿真数据到 Sat” 文件,保存到MATLAB当前工作目录,然后通过MATLAB窗口操作,显示其图形。对"To File"

18、;模块的参数设置:"File name55 (文件名)为 shuju. mat ; “Variable name55 (变量名)为sj; “Save format55 (保存格式)为Array (按行数组)。10.4库模块介绍Simul ink模块库包括公共模块库和专业模块库,下面只 对公共模块库中包含的子库组成及模块功能进行简单说 明,以便用户对模块有个初步印象,在进行仿真建模时, 能尽快地找到自己所要使用的模块。1.常用模块子库常用模块子库(Commonly Used Blocks)是在simulink建模 仿真时,将使用最为频繁的基本模块集中在一起形成的模块 库,这些模块在其它

19、模块库中都可以找到,主要为初学者提 供快捷的模块选取方法。该库包含的模块如图1051所示。BusGreatorBusSelectorCoitsi antDelayD i 3 cr utuTi m u Irti egr a t orGai n.昌 c>Integra t orRelati onal OperatorLogi cal Operat orSwitch疸Termiita t oraScope> InlProductOullSumSubsystemVectorCortc atenat«图10-51常用模块子库2.连续系统模块子库连续系统模块(Continuous)子

20、库主要包含了连续系统的仿真模块,该库包含的模块如图10-52所示。图10-52连续系统模块子库3. 仪表盘模块子库仪表盘模块(Dashboard )子库,包含各种仪表' 尺' 旋钮 、开关等模块,这些模块可以调整模型参数和变量,使仿真 过程停止。具体模块如图10-53所示。©(Sh(0)XoDashboard ScopeGaugeHalf GaugeKnobLampr*i J&au(D8Linear GangaGaugeRocker Swi tchRotary SwitchSlidar SwitchToggle Swi tch图10-53仪表盘模块子库4.非连

21、续系统模块子库非连续系统模块(Discontinuities)子库主要包含了不连续系统的仿真模块,该库包含的模块如图10-54所示。4.非连续系统模块子库非连续系统模块(Discontinuities)子库主要包含了不连续系统的仿真模块,该库包含的模块如图10-54所示。EacklashCoulomb &Vi ecoue Fri cti onDead ZoneDead ZoneEynami cCrossingQuajiti zerRate LimiterLzRate LimiterDynamicSatwrationRelaySsLturationDyriami cWrap To Zer

22、o4.非连续系统模块子库非连续系统模块(Discontinuities)子库主要包含了不连续系统的仿真模块,该库包含的模块如图10-54所示。4.非连续系统模块子库非连续系统模块(Discontinuities)子库主要包含了不连续系统的仿真模块,该库包含的模块如图10-54所示。图1054非连续系统模块子库5.离散系统模块子库离散系统模块(Discrete)子库主要包含了不连续系统的仿真模块,该库包含模块如图10-55所示。H10-55离散系统模块子库5.离散系统模块子库离散系统模块(Discrete)子库主要包含了不连续系统的仿真模块,该库包含模块如图10-55所示。DelayO.5S.

23、5厂 Discrete FIR Filterz*O. 5DiscreteTr wsEcr FenDiscrete Z ero-PoleDiscrete PID Controller (2D0F)Discrete Derivatis(EhDiscrete-TimeIntegr atox-Discrete Filter、x (rpl)-Ax(n)-»Ru(n)2 y (n) =Cx(n) 4(hi(n)Di seret色 StaEnabled BelayFirst-Order Mold回MemoryResettable DelayDelayTapped DelayH10-55离散系统模块

24、子库5.离散系统模块子库离散系统模块(Discrete)子库主要包含了不连续系统的仿真模块,该库包含模块如图10-55所示。Variable Iriteser DelayUni t DelayJ U O5zz-O. 95>Transfer Fen First Orderu-<J>d>J z 075J z-0.95Transfer FenLead or LagZaro-OrdavHold2-0. 75Transfer FenReal ZeroH10-55离散系统模块子库6 逻辑与位操作模块子库逻辑与位操作模块(Logic and Bit Operations)子库主要包

25、含用于实现逻辑运算和位运算的模块,该库包含的模块如图 1056所示。Bit ClarBit S*tBitwiseOperatorCombinatorialLogicCompare To ConstantCompcre To ZeroChangeDecreaseDetect FallDetect FallNonpositivaDetectIncrasDetect Rise HorunegativeDetect RisePositiveExtract BitsInterval TestInterval Test DyriJTiic AND kLogi calOperatorRaiational O

26、peratorShiftAri thrrieti c7 表格查询模块子库表格查询模块(Lookup Table)子库提供了各种用于查表运 算(插值)的模块,该库包含的模块如图1057所示。图10-57表格查询模块子库8.数学运算模块数学运算模块(Math Operations)子库主要包含大量的用于 实现数学运算的模块,该库包含的模块如图10-58所示。Abs口AddAlgebraic Cons twin tAssignmen tS3Di vi deMi nMftxDot ProductKind >Find NonzeroElementsmin(u. y) yM i nM 5Runnin

27、gResettableP:2 IPermuteDimensi oxxsRounding Functi g o Sub trac tRociprocalReshapeSqrtSqrtSqueezef>>GainJP(u)q ocp) = 5Polynomi alSigno入Sunu+0.0Bias>Magni tude-Angle to ComplexH>ProductSi gnod SqrtSum ofElementsComplex toMagni t ude-AngleMath FunctionFroduet o£ ElementsSi no Wave Fu

28、ncti onTrigonometrie FunctionComplex toReal-ImagMatrixConcatenateRcJ-Tmy to ComplexSIidayGainUnary MinusVectorCone atenateWeightedSample TimeMath图10-58数学运算模块子库9 模型检测模块模型检测模块(Model Verification)子库主要用于实现信号 的检测。该库包含的模块如图1059所示。AssertionCheck Dynajriic GapDiscrete GradientDynainic RangeUpper Bound.Check

29、 Input ResolutionCheckStatic GapCheck StaticLower BoundCheckStatic RangeCheck Static Upper Bound.U10-59模型检测模块子库10 模型扩充模块模型扩充模块(Model-Wide Utilities)子库包含的模块如图 1060所示。Hlock SuppijrtDocBlockBlock SupportTableModel InfoE d|Timed"Based Tri gger_BasedLineai-ization LinearizationU10-60模型扩充模块子库11.端口与子系

30、统端口与子系统(Ports & Subsystems)子库主要用于端口和 子系统的设计。该库包含的模块如图10-61所示。Atomic Sub syst einC o duRu us eSib sy a tern回Exx«i*blc1Int<UtlEnabledandTr-iSubsystarnInlJX»»» 1Enabled SubsystemInl心1R©so itablaSu"bsys tmmTr iSulisys tmmfor 、. . .O«jt I >For IteratorVari ant

31、 S*ubsystem» s卜Funaticn-CllFemdbwuk 匚tchCT>Tnl&Functioix-CallGeneratorFuitction-Call Split* f 1 <Inl»»» 1Func ti orrCalL SubsystemU-*dvl Hnr»>Modal. Var-i artt sSubsystwm ExamplesSwi tfh CseSwi t cR C au o Act i on SubsystemInlMhile 1Qul:cWkil o Tt a*-At oySubsy

32、s tern>CTJOutlETri seer2 信号属,性模块信嘉性模块(Signal Attributes)子库主要用于信号和数据 类型的转换。该库包含的模块如图10-62oData Tj<pe ConversionCofivcrtuData Type DuplicateData Type Propagati onBus to VectorData TypeConversionIrJieri tedUnta Tyr*PrciionI;xnn|>l*c5Data Type Scaling StripICData TypePropagati on ExaniplesSi gn

33、sl Conversi oninhcritWeighted.Saniple TimeWLdthSignal Speci £i cation.H110-62信号属性模块子库13信号路线选择信号路线选择(Signal Routing)子库主要用于实现信号路径图10-63信号路径模块子库14 接收器模块接收器模块(Sinks)子库主要提供信号的显示或信号的输出 连接。该库包含的模块如图10-64o图1064接收器模块子库15羸入源模块输入源模块(Sources)子库主要提供大量的信号发生器模块。该库包含的模块如图1065。图10-65输入源模块子库15羸入源模块输入源模块(Sources)

34、子库主要提供大量的信号发生器模块。该库包含的模块如图1065。Band-LimitedWhite NoiseChirp SignalClockConstantDigital ClockEnwrier&tedConstantFrom FilePulseGeneral or0RampRandomNumberFromWorkspacewRepeatingSequenceUrxiup 1Signal 1>Signal BuilderSignalGenera torCounterFree-Running呂Ground囚RepeatingSequenceInterpolatedHUni fo

35、rm RandomHujnber哪CounterLimited口IniBRepeatingSequenceStair图10-65输入源模块子库15 自定义函数模块自定义函数模块(UserDefined Functions)主要用于实现自 定义函数功能,包括MATLAB函数和&函数。该库包含的模 块如图10-66o图10-66自定义函数模块子库图10-66自定义函数模块子库MATLAB FunctionfflATLAB SystemAction Cdler Interpreted MATLABFunction0S-Fun.ction| Ex总|Level-2 NATLAJiS-FunctionS"Function Builder S-Function Examples Simulink Function图10-66自定义函数模块子库

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1