Simulink入门教程[共82页]_第1页
Simulink入门教程[共82页]_第2页
Simulink入门教程[共82页]_第3页
Simulink入门教程[共82页]_第4页
Simulink入门教程[共82页]_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、Simulink快速入门启动Simulink软件要构建模型,可以使用 SimulinkEditor 和 Library Browser。启动MATLAB软件启动 Simulink 之前,请先启动 MATLAB。请参阅启动和关闭(MATLAB)。配置MATLAB以启动Simulink您在 MATLAB 会话中打开第一个模型时需要的时间比打开后续模型长,因为默认情况下,MATLAB 会在打开第一个模型时启动 Simulink。这种即时启动 Simulink 的方法可以缩短 MATLAB 启动时间,避免不必要的系统内存占用。要快速打开第一个模型,您可以配置 MATLAB,在它启动时同时启动 Simu

2、link。要启动 Simulink 而不打开模型或 Library Browser,请使用start_simulink。根据 MATLAB 的启动方式,恰当使用此命令: 在 MATLABstartup.m文件中 在操作系统命令行中,使用matlab命令和-r开关例如,要在运行 MicrosoftWindows操作系统的计算机上启动 MATLAB 时启动 Simulink,请创建具有以下目标的桌面快捷方式:matlabrootbinwin64matlab.exe -r start_simulink在 Macintosh 和Linux计算机上,可在启动 MATLAB 时使用以下命令启动 Simul

3、ink 软件:matlab -r start_simulink打开SimulinkEditor要打开 Simulink Editor,您可以: 创建一个模型。在 MATLAB 的Home选项卡上,点击Simulink并选择一个模型模板。或者,如果您已经打开了 Library Browser,请点击New Model按钮。有关创建模型的其他方法,请参阅创建模型。 打开一个现有模型。要打开最近使用的模型,请在 MATLABHome选项卡上点击Simulink。或者,如果您知道要打开的模型的名称,可在 MATLAB 命令提示符下输入名称,例如vdp。有关打开模型的其他方法,请参阅打开模型。提示Sim

4、ulink Editor 会在 MATLAB 桌面的前端打开。要将 MATLAB 桌面移动到前端,请在 Simulink Editor 中选择ViewMATLAB Desktop。打开 Library Browser通过以下方式之一从 MATLAB 中打开 Simulink Library Browser: 在主页选项卡上,点击Simulink并选择一个模型模板。在新模型中,点击Library Browser按钮。 在命令提示符下,输入slLibraryBrowser。Library Browser 随即打开,并显示您系统中的 Simulink 模块库的树视图。当您点击树视图中的库时,右侧窗格

5、将显示库的内容。注意除了 Simulink 库之外,Simulink 还附带了模块库。这些库支持对附带的示例模型(包含这些库中的模块)进行仿真。但是,要生成代码或修改这些模块,必须拥有相关的产品许可证。在SimulinkEditor 中构建和编辑模型 启动Simulink并创建一个新模型 向模型中添加模块 对齐和连接模块 设置模块参数 添加更多模块 建立分支连接 组织模型 对模型进行仿真并查看结果 修改模型本示例介绍创建模型、向模型中添加模块、连接模块以及仿真模型的基础知识。您还将学习如何使用子系统组织模型、为模型的组件命名以及修改模型。启动Simulink并创建一个新模型1. 在 MATLA

6、B主页选项卡中,点击Simulink。2. 在 SimulinkStart Page 上,点击Blank Model模板。将在 Simulink Editor 中打开一个基于Blank Model模板的新模型。3. 打开 Library Browser,以访问创建模型需要的模块。在 Simulink Editor 中,点击Library Browser按钮。向模型中添加模块一个模型至少要接收一个输入信号,对该信号进行处理,然后输出结果。在 Library Browser 中,Sources 库包含代表输入信号的模块。Sinks 库包含用于捕获和显示输出的模块。其他库包含可用于各种用途(如数学运

7、算)的模块。在此基本模型中,输入信号为正弦波,执行的操作为增益运算(通过乘法增加信号值),结果输出到一个 Scope 窗口。尝试使用不同的方法来浏览库,并向您的模型中添加模块。1. 打开 Sources 库。在 Library Browser 的树视图中,点击Sources库。2. 在右窗格中,将光标悬停在Sine Wave模块上,以查看描述其用途的工具提示。3. 使用上下文菜单在模型中添加一个模块。右键点击该模块并选择Add block to model untitled。(要了解该模块的详细信息,请从上下文菜单中选择Help。)4. 通过拖放操作在模型中添加一个模块。在库树视图中,点击Ma

8、th Operations。在 Math Operations 库中,找到Gain模块,然后将其拖到模型中Sine Wave模块的右侧。5. 在库树视图中,点击Simulink,查看以图标形式显示在右窗格中的子库。此视图是导航库结构的另一种方法。双击Sinks库图标。6. 在 Sinks 库中,找到Scope模块,然后使用上下文菜单或通过拖放操作将其添加到模型中。现在,您的模型如下图所示。对齐和连接模块可将模块连接起来,在模型元素之间建立能够使模型正常工作所需要的关系。当您根据模块之间的交互方式对齐模块后,模型将更加一目了然。快捷方式可以帮助您对齐和连接模块。1. 拖动 Gain 模块,使其与

9、 Sine Wave 模块对齐。当两个模块水平对齐时,将出现一条对齐参考线。释放模块,此时将出现一个蓝色箭头,作为建议连接线的预览。2. 要接受该连接线,请点击箭头的末端。此时参考线将变成一条实线。3. 采用同样的方法,将 Scope 模块与 Gain 模块对齐并连接起来。提示可以使用DiagramArrange菜单查看其他对齐方式选项。设置模块参数您可以设置大多数模块上的参数。参数可以帮助您指定模块如何在模型中工作。您可以使用默认值,也可以根据需要设置值。可以使用 Property Inspector 设置参数。也可以双击大多数模块,使用模块对话框来设置参数。要了解何时使用每一种方式,请参阅

10、设置属性和参数。在模型中,您可以在Sine Wave模块中设置幅值,在Gain模块中设置增益值。1. 显示 Property Inspector。选择ViewProperty Inspector。2. 选择Sine Wave模块。3. 在 Property Inspector 中,将Amplitude参数设置为2。4. 选择Gain模块并将Gain参数设置为3。该值将显示在模块上。添加更多模块假设您要再执行一个增益运算,但这次针对的是Sine Wave模块的输出绝对值。为了实现此目的,需要添加一些模块,请尝试通过不同的方式找到库中的模块并添加到模型中。1. 如果知道要添加的模块的名称,可以使用

11、快捷方式。点击模型中要添加模块的位置,然后键入模块名称(在本例中为 Gain)。此时将显示一个可能的模块列表。2. 点击模块名称,或者在突出显示模块名称后按Enter。如果它不是列表中的第一个模块,您可以使用箭头键突出显示模块名称。使用此方法可以在出现蓝色放大镜的任何位置添加模块,例如在您绘制信号线时。3. 许多模块会显示要求您为某个模块参数输入值的提示。Gain模块会提示您输入Gain值。键入3并按Enter。每增加一个模块实例,名称中的数字就会增加 1,例如 Gain1、Gain2 等。4. 在模型中添加一个Abs模块。假定您不知道模块在哪个库中,也不知道模块的完整名称。这种情况下,可以使

12、用 Library Browser 中的搜索框进行搜索。在搜索框中输入abs并按Enter。当您找到 Abs 模块后,将其添加到 Gain1 模块的左侧。5. 添加另一个 Scope 模块。您可以右键点击并拖动现有的 Scope 模块为其创建一个副本,或使用EditCopy和EditPaste。下图显示了您的模型的当前状态。注意当您按照数字顺序为模型中的模块命名时(例如 Gain1、Gain2 等),复制和粘贴操作将按照 ASCII 字符的标准排序约定生成模块名称。这种排序方法可能会导致模块名称中出现一串难以理解的数字。如果编号方案对您很重要,请为模块编号,使复制和粘贴操作生成的模块名称遵循常

13、见的阅读顺序。为此,请在模块名称中使用前导零,例如 Gain001、Gain002 等。建立分支连接第二个增益运算的输入是正弦波的绝对值。要使用一个Sine Wave模块作为两个增益运算的输入,需要从Sine Wave模块输出信号上创建一条分支。1. 对于模型中的第一组模块,您使用了水平对齐参考线帮助您对齐和连接模块。您还可以使用参考线垂直对齐模块。将 Scope1 模块拖动到 Scope 模块下面并与之对齐。当垂直对齐参考线显示两个模块已对齐时,释放模块。2. 按下图所示对齐并连接 Abs 和 Gain1 模块。3. 从 Sine Wave 模块的输出端口创建一条连接到 Abs 模块的分支线

14、。当光标悬停在 Sine Wave 模块的输出信号线上时,按住Ctrl键并向下拖动。拖动分支线,直到末端靠近 Abs 模块为止。4. 向 Abs 模块拖动,直到分支线连接到该模块。根据需要移动顶点,以拉直该线。(顶点上出现一个圆圈。)您可以尝试用其他方法来连接模块: 拖动鼠标,从一个模块的输出向另一个模块的输入绘制一条连接。当您的模块已对齐(即不显示参考线)时,可以使用此方法。 选择第一个模块,然后按住Ctrl键并点击要连接的模块。当您不希望模块对齐时,可以使用此方法。连接线根据需要拐弯以建立连接,如下图所示。注意您可以选择多个模块,将它们连接到一个具有多个输入端口的模块(例如,总线)。要从线

15、段逼近对角线,请按住Shift键并拖动顶点。 提示要改善信号线的形状,请选择信号线,然后从省略号菜单中选择Autoroute Line。如果模型元素之间存在更好的路线,则会重新绘制信号线。组织模型您可以将模块组合成子系统,并为模块、子系统和信号添加标签。有关子系统的详细信息,请参阅创建子系统。1. 拖动鼠标,在 Abs 和 Gain1 模块周围绘制一个选择框。2. 将光标移动到选择框右下角出现的省略号上。从工具栏中选择Create Subsystem。模型中将出现一个子系统模块,代替Abs和Gain1模块。要调整子系统模块的大小,使其最适合您的模型,请拖动模块句柄。3. 为子系统指定有意义的名

16、称。双击模块名称并键入Absolute Value。4. 双击 Absolute Value 子系统将其打开。提示要使用 Explorer Bar 来导航模型层次结构,请右键点击模块并选择Open in New Tab。该子系统包含您选择作为子系统基础的 Abs 和 Gain1 模块。它们依次连接到两个新模块:In1(Inport 模块)和 Out1(Outport 模块)。Inport 和 Outport 模块对应于子系统的输入端口和输出端口。5. 点击 Simulink Editor 中的Up to Parent按钮返回到模型顶层。6. 您可以为任何信号命名。双击信号并键入名称即可。例如,

17、双击来自 Gain 模块的信号,然后键入My Signal。双击信号线而不是画布的空白区域,否则将创建一个单独的文本元素(注释)。有关处理信号名称的其他方法,请参阅信号名称和标签操作。下图显示了您创建子系统、命名子系统并命名信号之后的模型。提示要查看其他调整大小和对齐选项,请使用DiagramArrange菜单。对模型进行仿真并查看结果1. 您可以使用SimulationRun命令 (Ctrl+T) 或Run按钮对模型进行仿真。您可以使用自己偏好的方法对模型进行仿真。在本示例中,仿真运行 10 秒,此为默认设置。2. 双击两个 Scope 模块将其打开,然后查看结果。在每个 Scope 中,点

18、击Autoscale按钮以查看完整信号。下图显示了两个结果。在第二个图中,不出所料,正弦波的绝对值始终为正。 修改模型您可以在现有信号上添加模块、从模型中移除模块以及重新绘制连接线。要修改此模型,请为模型中两个分支的输入添加一个偏置。再将其中一个 Scope 替换为另外一种信宿。对于某些模块,从其他模块上连接一条线会在该模块上添加一个输入端口或输出端口。例如,当您为子系统添加连接线时,子系统上会出现一个端口。产生端口的其他模块包括Bus Creator、Scope以及Add、Sum和Product模块。有关详细信息,请参阅Automatic Port Creation: Add inports

19、 and outports to blocks when routing signals。1. 在模型中添加一个 Bias 模块,并将Bias参数设置为2。2. 将该模块拖动到 Sine Wave 模块后面、分支线前面的信号线上。如果您需要为该模块腾出空间,请将 Sine Wave 模块向左拖动,或者拖动分支线的末端,将分支线向右移动。当您将模块拖动到信号线上时,模块的两侧将与信号线连接起来。当您对位置感到满意时,释放模块。3. 移除 Scope 模块。如果要断开 Scope 模块与模型的连接,但不想将其删除,请按住Shift键并拖动该模块。使用Edit菜单命令或键盘按键剪切或删除此模块。断开

20、的连接线显示为红色点线。提示当您删除具有一个输入端口和一个输出端口的模块时,断开的连接线之间会出现提示。点击该提示可将信号连接起来。4. 向模型中添加一个To Workspace模块,并将其放在断开的连接线的末端。To Workspace模块将结果输出给 MATLAB 工作区中的一个变量。5. 再向子系统中添加一个输入。向模型中添加一个Sine Wave模块,并将幅值设置为5。将其放在子系统模块的左侧。6. 拖动鼠标从新的Sine Wave模块向子系统的左侧绘制一条线。模块上将出现一个新端口 In2。7. 再向子系统中添加一个输出。向模型中添加一个To Workspace模块,并将其放在子系统

21、的右侧。拖动鼠标从输入端口向子系统的右侧绘制一条线。模块上将出现一个新端口 Out2。8. 打开子系统并将 Out1 模块重命名为 Scope。将 Out2 模块重命名为 Workspace。向模型添加一个Manual Switch模块。调整大小并按下图所示进行连接。在 Gain 模块后绘制分支信号,以将输出指向To Workspace模块。然后,返回到模型的顶层。下图显示了当前模型。9. 对模型进行仿真。o simout和simout1变量出现在 MATLAB 工作区中。您可以双击每个变量以查看结果。o 如果要使用第二条正弦波作为子系统算法的输入,请打开子系统并双击开关。输入更改为 In2。

22、再次进行仿真。提示要在使用和不使用Bias模块的模型仿真效果之间切换,请右键点击Bias模块,然后选择Comment Through。此模块仍然在模型中,但不影响运算。右键点击Bias模块,然后选择Uncomment即可启用此模块。Comment Out命令会注释掉模块的输出信号,因此不传递信号数据。请使用上述每个命令进行尝试,以便更好地理解它们的效果。创建模型和现有打开模型 创建模型 使用自定义设置创建新模型 打开模型 在打开模型时加载变量 打开使用不同字符编码的模型 Simulink模型文件类型创建模型1. 在 MATLAB主页选项卡中,点击Simulink。2. 在 Simulink首页

23、,选择一个模板或搜索模板。模型模板是应用常见建模方法的起点。它们可以帮助您重用设置和模块配置,并与他人分享知识。使用模型和工程模板来应用最佳实践,并充分利用以前的建模解决方案。点击模板标题以阅读其说明。要定位不在 MATLAB 搜索路径中的模板,请点击Open。模型模板的扩展名为.sltx。3. 选择您需要的模板后,点击Create Model。要使用模板而不阅读说明,请点击模板图像。或者按Ctrl+N以使用默认模板。要设置默认模板,请参阅使用自定义设置创建新模型。此时将在 Simulink Editor 中打开一个使用模板设置和内容的新模型。有关后续步骤,请参阅在 Simulink Edit

24、or 中构建和编辑模型。如果内置模板不能满足您的需要,请尝试在Examples选项卡上搜索,也可以自行创建模板。请参阅Create a Template from a Model。在Examples选项卡上,输入搜索词以查找感兴趣的示例标题和描述,或者点击产品名称旁边的View All,以打开网络上的更多示例。使用自定义设置创建新模型您可以为所有新模型指定一个模型模板。1. 使用所需的配置设置和模块创建一个模型,然后将该模型导出到模板中。请参阅Create a Template from a Model。2. 要在每个新模型中重用这些设置,请使用 Simulink Start Page 或Si

25、mulink.defaultModelTemplate函数将新模板设置为默认的模型模板。在 Start Page 上,点击模板标题以展开其说明,然后点击Create Model旁边的向下箭头并选择Set As Default。设置默认的模型模板后,每个新模型都将使用该模板,例如,当您按Ctrl+N、使用新模型按钮或使用new_system时,都会使用该模板。在 Simulink Editor 中,当您选择FileNewMyDefaultTemplateName时,默认模板名称位于列表的顶部。默认模板在 Start Page 上显示一个标记。打开模型打开模型时,模型将加载到内存中并显示在 Sim

26、ulink Editor 中。使用以下方式之一: 在 MATLAB主页选项卡中,点击Simulink。在 Simulink Start Page 上,从列表中选择一个最近使用的模型或工程,或点击Open。 在 Simulink Editor 中,选择FileOpen Recent,然后选择一个最近使用过的模型。 在 MATLAB 命令提示符下,输入不带文件扩展名的模型名称,例如vdp。该模型必须在当前文件夹或 MATLAB 搜索路径中。 在 Simulink Library Browser 中,点击Open model or library按钮。 使用“当前文件夹”浏览器或您操作系统上的文件浏

27、览器打开模型。提示设置收藏夹可从 Start Page 轻松回到您喜欢的模型和工程。在 Simulink Start Page 上最近使用的文件列表中,您可以将文件添加到收藏夹中。然后,Favorites 列表将显示在 Start Page 上最近使用的文件上方,以便您轻松重新打开自己喜欢的模型和工程。要清除 Start Page 上最近使用的文件列表,请在 MATLAB 中输入:slhistory.clear注意要在旧版本的 Simulink 中打开在新版本中创建的模型,首先要将模型导出到旧版本。请参阅将模型导出到以前的 Simulink 版本。在打开模型时加载变量在构建模型的过程中,有时您

28、需要为模型定义变量。例如,假设您有一个模型,其中包含一个 Gain 模块。您可以指定变量K作为增益,而不是在模块上设置该值。使用这种方法时,必须为要仿真的模型定义变量K。当您打开模型时,可以使用模型回调来加载变量。1. 在使用 Gain 模块的模型中,将该模块的Gain值设置为K。2. 在 MATLAB 脚本中定义变量。在 MATLAB 中,选择新建脚本。在脚本中输入您的变量定义:K=273. 将脚本另存为loadvar.m。4. 在模型中,打开 Property Inspector。选择ViewProperty Inspector。如果未在模型顶层选择任何内容,可使用 Property In

29、spector 设置模型属性。否则,请使用FileModel Properties。5. 在模型属性的Callbacks部分,选择PreLoadFcn作为您要定义的回调。在窗格中输入loadvar。6. 保存模型。下次您打开该模型时,PreloadFcn回调会将变量加载到 MATLAB 工作区中。有关回调的信息,请参阅针对自定义模型行为的回调。要以编程方式定义加载变量的回调,请参阅打开模型时通过编程方式加载变量。打开使用不同字符编码的模型如果您在使用不同编码的 MATLAB 会话中打开使用特定字符集编码的 MDL 文件,将会出现警告。例如,假设您在为Shift_JIS配置的 MATLAB 会话

30、中创建一个 MDL 文件,然后在为US_ASCII配置的会话中打开它,此时就会出现警告。警告消息显示当前会话的编码以及创建模型时所使用的编码。SLX 文件不会发出警告,因为它们可以存储任何编码的字符。如果您遇到任何字符损坏的问题(例如,使用与模型关联的 MATLAB 文件时),请尝试使用slCharacterEncoding函数更改当前 MATLAB 会话的字符编码,使其与模型的字符编码相匹配。Simulink 可以检查模型中是否包含当前区域设置不支持的字符。有关详细信息,请参阅Check model for foreign characters和保存具有不同字符编码的模型。Simulink模

31、型文件类型默认情况下,您创建的新模型带有.slx扩展名。在 R2012b 之前创建的模型带有.mdl扩展名。可编辑的模型可以带有.slx或.mdl扩展名,具体取决于模型的创建时间以及是否进行过转换。请参阅将模型保存为 SLX 文件格式。.slxp和.mdlp扩展名表示受保护的模型,不能打开和编辑。请参阅受保护模型。模型模板的扩展名为.sltx。Simulink 库还使用.slx扩展名,但您不能对这些模型进行仿真。要了解详细信息,请参阅创建自定义库。另请参阅Simulink.createFromTemplate|Simulink.defaultModelTemplate|Simulink.fin

32、dTemplates|open_system|simulink保存模型 如何判断模型需要保存 保存模型 保存模型时会执行哪些操作? 将模型保存为 SLX 文件格式 保存具有不同字符编码的模型 将模型导出到以前的Simulink版本 从一个旧版本Simulink保存到另一个旧版本如何判断模型需要保存要判断模型是否需要保存,请查看 SimulinkEditor 的标题栏。如果模型需要保存,标题栏中的模型名称旁边会显示一个星号(称为修改标志:*)。要通过编程方式确定模型是否需要保存,请使用模型参数Dirty。例如:if strcmp(get_param(gcs,Dirty),on)save_syst

33、em;end保存模型第一次保存模型时,请在 Simulink Editor 中选择FileSave。为模型文件提供位置和名称。有关名称的要求,请参阅模型名称。要保存之前保存过的模型,请执行以下操作: 要替代文件内容,请在 Simulink Editor 中选择FileSave。 要使用新名称或在新位置保存模型,或者要从 MDL 更改为 SLX 格式,请在 Simulink Editor 中选择FileSave As。注意有关 SLX 格式的详细信息,请参阅将模型升级到 SLX。 要将模型保存为与早期版本兼容的格式,请选择FileExport Model toPrevious Version。请

34、参阅将模型导出到以前的 Simulink 版本。模型名称模型文件名必须以字母开头,可以包含字母、数字和下划线。文件名不能为: 语言关键字(例如if、for、end) 保留名称:simulink、sl、sf MATLAB软件命令模型名称中的字符总数不能超过某个最大值,通常为 63 个字符。要确定您的系统的最大值是否大于 63 个字符,请使用 MATLAB 中的namelengthmax命令。要了解当您指定模型名称时 MATLAB 如何确定调用哪个函数,请参阅函数优先顺序(MATLAB)。保存模型时会执行哪些操作?Simulink 将模型(模块图)和模块属性保存在模型文件中。如果您指定了任何要在保

35、存前或保存后执行的函数,它们将按以下顺序执行:1. 先执行所有模块的PreSaveFcn回调例程,然后执行模型的PreSaveFcn回调例程。2. Simulink 写入模型文件。3. 执行所有模块PostSaveFcn回调例程,然后执行模型PostSaveFcn。在保存过程中,Simulink 会维护一个临时备份副本(名为modelname.bak),用于在发生错误时还原。如果在保存时,或者在保存过程中执行任何回调时发生错误,Simulink 会: 还原原始文件 将发生错误之前保存的任何内容写入到名为modelname.err的文件中 发出一条错误消息保存从 SLX 文件中加载的模型时,原始

36、 SLX 文件必须依然存在。Simulink 对 SLX 文件执行增量加载和保存,因此,如果保存时原始文件不存在,Simulink 将发出警告,告诉您它无法完全重新构造该文件。将模型保存为 SLX 文件格式将新模型另存为 SLX默认情况下,Simulink 将新模型和库保存为 SLX 格式,文件扩展名为.slx。SLX 是符合开放打包约定 (OPC) 互操作性标准的压缩包。SLX 使用 UnicodeUTF-8 以 XML 和其他国际格式存储模型信息。将 Simulink 模型保存为 SLX 格式: 通常可以减小文件大小(与 MDL 格式相比)。MDL 与 SLX 之间减小的文件大小因模型而异

37、。 解决以前的版本中加载和保存包含韩语和中文字符的 MDL 文件时出现的一些问题。 启用增量加载和保存。Simulink 通过只加载需要的模型部分并且只保存修改的模型部分,来优化性能和内存使用。您可以使用 Simulink 预设File format for new models and libraries,指定用来保存新模型和库的文件格式。将模型升级到 SLX如果您将 MDL 文件升级到 SLX 文件格式,文件中包含的信息与 MDL 文件相同,并且您始终拥有一个备份文件。当前存在的适用于模型的所有功能和 API,例如get_param和set_param命令,在使用 SLX 文件格式时依然可

38、用。如果您将 MDL 文件升级到 SLX 文件格式而没有更改模型名称或位置,Simulink 将通过重命名 MDL(如果可写)来创建备份文件。如果您使用FileSave来保存现有 MDL 文件,Simulink 将保留文件的当前格式,并以 MDL 格式保存您的模型。要将现有 MDL 文件保存为 SLX 文件格式,请执行以下操作:1. 选择FileSave as。2. 保留Save as type的默认值 SLX,然后点击Save。Simulink 将以 SLX 格式保存您的模型,并通过将 MDL(如果可写)重命名为mymodel.mdl.releasename(例如mymodel.mdl.R2

39、010b)来创建备份文件。此外,还可以使用save_system:save_system mymodel mymodel.slx此命令将创建mymodel.slx,如果现有文件mymodel.mdl可写,则将其重命名为mymodel.mdl.releasename。SLX 文件的优先级高于 MDL 文件,因此,如果存在两个同名文件,而您没有指定文件扩展名,则将加载 SLX 文件。Simulink Projects 可以帮助您将文件迁移到 SLX。要查看示例,请参阅Upgrade Model Files to SLX and Preserve Revision History。小心如果您使用第三

40、方源代码管理工具,请务必将模型文件扩展名.slx注册为二进制文件格式。否则,当您提交 SLX 文件时,这些第三方工具可能会导致文件损坏。使用 SLX 时可能存在兼容性问题的操作发生的情况操作硬编码引用带有.mdl扩展名的文件名。脚本找不到或无法处理用新文件扩展名.slx保存的模型。确保您的代码兼容.mdl和.slx扩展名。使用函数(如which和what),而不是文件名。第三方源代码管理工具默认情况下采用文本格式。提交二进制格式的 SLX 文件可能导致文件被第三方工具所破坏。使用第三方源代码管理工具将.slx注册为二进制文件格式。建议对.mdl文件也如此处理。请参阅Register Model

41、 Files with Source Control Tools。更改字符编码。某些情形已得到改进,例如,SLX 解决了以前的版本中加载和保存包含韩语和中文字符的 MDL 文件时出现的一些问题。但是,在不同的区域设置之间共享模型依然存在问题。请参阅SLX 文件和字符编码。MDL 和 SLX 文件内容的格式可能随时更改。要处理模型数据,请使用文档中介绍的 API(例如get_param、find_system和Simulink.MDLInfo)。保存具有不同字符编码的模型 MDL 文件和字符编码 SLX 文件和字符编码MDL 文件和字符编码当您保存模型时,将使用当前字符编码方式对模型文件中存储的

42、文本进行编码。对于 MDL 文件,如果您原来保存模型时使用的编码方式与当前编码方式不同,可能会导致模型损坏。如果您更改字符编码方式,可能会引入当前编码方式无法表示的字符。如果是这种情况,模型将另存为model.mdl.err(其中model是模型名称),而保留原始模型文件不变。Simulink 还会显示一条错误消息,指出无法表示的第一个字符所在的行号和列号。要修复此错误,请执行以下操作之一: 以 SLX 格式保存模型(请参阅将模型保存为 SLX 文件格式)。 找到这些字符并逐个删除。1. 使用文本编辑器,在.err文件中找到保存时显示的错误消息中指示的位置处的字符。2. 在打开的模型中找到并删

43、除对应的字符,然后重新保存模型。3. 重复此过程,直到您能够成功保存模型,而不发生任何错误为止。模型的原始编码方式也许能够显示您在当前会话中所做的所有文本更改,但有可能不正确。例如,假设您在会话中打开一个模型,模型的原始编码方式为 A,会话的当前编码方式为 B。再假设您编辑了该模型,引入一个在 A 和 B 中具有不同编码的字符,然后保存模型。进一步假设字符 x 在 B 中的编码与字符 y 在 A 中的编码相同,假如您在 B 有效时在模型中插入了字符 x,保存模型,然后使用 A 重新打开模型,则 Simulink 软件会将字符 x 显示为 y。为了提醒您发生此类损坏的可能性,每当您保存模型时,如

44、果模型的当前编码方式与原始编码方式不同,但原始编码方式可以对保存到模型文件中的所有字符进行编码(但可能不正确)时,就会显示警告消息。SLX 文件和字符编码将 Simulink 模型保存为 SLX 格式通常可以减小文件大小,并解决在以前的版本中加载和保存包含韩语和中文字符的 MDL 文件时出现的一些问题。选择模型文件格式时的注意事项: 如果您要加载并保存包含韩语或中文字符的模型,请使用 SLX 如果您希望通过压缩模型文件而获益,请使用 SLX 不管您使用 SLX 还是 MDL,如果模型中包含当前区域设置不支持的字符,Simulink 都能检测出来并发出警告。对于 SLX,您可以使用 Model

45、Advisor 来帮助您,请参阅Check model for foreign characters。将模型导出到以前的Simulink版本您可以将使用最新版本的 Simulink 软件创建的模型导出(保存)为旧版本软件使用的格式。例如,要与只能访问旧版本 Simulink 产品的同事共享模型时。要将模型导出为旧版本格式,请执行以下操作:1. 在 Simulink Editor 中,选择FileSave。此操作用最新版本的 Simulink 保存一个副本。这一步可以避免兼容性问题。2. 在 Simulink Editor 中,选择FileExport Model toPrevious Vers

46、ion。此时将显示 Export to Previous Version 对话框。3. 在此对话框中,从Save as type列表中选择要将模型导出到的旧版本。此列表支持过去 7 年的版本。4. 点击Save按钮。当您将模型导出为旧版本格式时,不管模型中是否包含在该版本之后引入的模块和功能,都会以旧版本格式保存模型。如果模型中包含的模块或使用的功能是在旧版本之后引入的,则当您在旧版本 Simulink 软件中运行模型时,可能无法得到正确的结果。而且,Simulink 会将旧版本之后的模块转换为空的黄色封装Subsystem模块。例如,如果您使用save_system将模型导出到版本 R200

47、7b,而模型中包含Polynomial模块,则 Simulink 会将Polynomial模块转换为空的黄色封装Subsystem模块。Simulink 还会从模型中删除任何不支持的功能。请参阅save_system。从一个旧版本Simulink保存到另一个旧版本您可以打开在旧版本 Simulink 中创建的模型,并将其导出到另一个旧版本。如果您需要将模型从一个旧版本保存到另一个旧版本,为了防止出现兼容性问题,请按以下步骤操作。1. 使用最新版本的 Simulink 打开用旧版本创建的模型。2. 在您进行任何更改之前,通过选择FileSave,用最新版本保存模型。用最新版本保存模型之后,您可以

48、根据需要进行更改并重新保存。3. 通过选择FileExport Model toPrevious Version,将模型保存为旧版本 Simulink 格式。4. 启动旧版本 Simulink,并使用它打开您导出到该版本的模型。5. 通过选择FileSave,将模型保存为旧版本格式。现在即可在旧版本 Simulink 中使用该模型了,就好像它是在该版本中创建的一样。另请参阅 Simulink 预设,它们可以帮助您处理旧版本的模型: Do not load models created with a newer version of Simulink Save backup when overw

49、riting a file created in an older version of Simulink另请参阅save_system创建简单模型 本教程的模型概述 在SimulinkEditor 中打开新模型 打开SimulinkLibrary Browser 浏览或搜索特定模块 向模型中添加模块 移动模块和调整模块大小 模块连接 在模块之间绘制信号线 绘制带分支的信号线 定义配置参数 运行仿真 观察仿真结果本教程的模型概述您可以使用 Simulink对系统建模,然后仿真该系统的动态行为。本教程中创建简单模型所使用的基本方法也适用于创建更复杂的模型。要创建这个简单模型,您需要四个 Simu

50、link 模块。模块是一种模型元素,用来定义系统的数学运算并提供输入信号: Sine Wave- 为模型生成输入信号。 Integrator- 处理输入信号。 Bus Creator- 将多个信号合并为一个信号。 Scope- 可视化和比较输入信号与输出信号。此模型的仿真过程就是将正弦波信号与余弦信号集成,然后在 Scope 窗口中随原始信号一起显示集成结果。在SimulinkEditor 中打开新模型使用 Simulink Editor 构建模型。1. 启动 MATLAB。从 MATLAB 工具条上,点击Simulink按钮。第一次打开 Simulink 时,会出现短暂延迟。2. 点击Bla

51、nk Model模板,然后点击Create Model按钮。Simulink Editor 随即打开并显示一个新的模块图。3. 选择FileSave as。在File name文本框中,输入您的模型的名称,例如simple_model。点击Save。模型使用文件扩展名.slx进行保存。打开SimulinkLibrary Browser从 Simulink Library Browser 中,可以搜索要在模型中使用的模块。还可以创建新的 Simulink 模型、项目或 Stateflow图。1. 从 Simulink Editor 工具栏上,点击Simulink Library按钮。2. 将 L

52、ibrary Browser 设置为始终在其他桌面窗口前端。在 Library Browser 工具栏中,选择Stay on top按钮。浏览或搜索特定模块要浏览模块库,请从左窗格中选择一个 MathWorks产品,然后选择一个功能区。要搜索所有可用的模块库,请输入搜索词。1. 搜索Sine Wave模块。在浏览器工具栏的搜索框中输入sine,然后按 Enter 键。Simulink 将在模块库中搜索名称或说明中包含sine的模块,然后显示这些模块。2. 获取模块的详细信息。右键点击某个模块,然后选择Help for the 。Help 浏览器随即打开并显示该模块的参考页。3. 查看模块参数。

53、右键点击某个模块,然后选择Block Parameters。模块参数对话框随即打开。向模型中添加模块通过从 Simulink Library Browser 窗口将模块拖动到 Simulink Editor,或者通过点击模型并输入搜索词,即可构建模型。要构建简单模型,请首先从 Simulink Library Browser 向 Simulink Editor 中复制模块。1. 在 Simulink Library Browser 的左窗格中选择Sources库。2. 从右窗格中选择Sine Wave模块。3. 将Sine Wave模块拖到 Simulink Editor 中。您的模型中将出现

54、Sine Wave模块的副本,还有一个文本框用于输入Amplitude参数的值。在文本框中输入2。4. 按照下列步骤添加Scope模块:a. 在模块图中点击。b. 出现搜索图标后,键入scope,然后通过列表从Simulink/Sinks库中选择 “Scope”。5. 按照添加Sine Wave和Scope模块所用的方法之一,将下列模块添加到模型中。库模块Simulink/ContinuousIntegratorSimulink/Signal RoutingBus Creator6. 现在您的模型应该具有简单模型需要的模块了。7.移动模块和调整模块大小在连接模型中的模块之前,请将模块输入和输出合理排列,以使信号连接尽可能直观。1. 将Scope模块移到Bus Creator模块输出之后。您可以采用下列任一方法:o 点击并拖动模块。o 选择模块,然后按键盘上的箭头键。2. 移动模块,直到您的模型看起来与下图类似。模块连接大多数模块的

温馨提示

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

评论

0/150

提交评论