Simulink入门教程.docx

上传人:b****1 文档编号:1341270 上传时间:2023-04-30 格式:DOCX 页数:92 大小:2.47MB
下载 相关 举报
Simulink入门教程.docx_第1页
第1页 / 共92页
Simulink入门教程.docx_第2页
第2页 / 共92页
Simulink入门教程.docx_第3页
第3页 / 共92页
Simulink入门教程.docx_第4页
第4页 / 共92页
Simulink入门教程.docx_第5页
第5页 / 共92页
Simulink入门教程.docx_第6页
第6页 / 共92页
Simulink入门教程.docx_第7页
第7页 / 共92页
Simulink入门教程.docx_第8页
第8页 / 共92页
Simulink入门教程.docx_第9页
第9页 / 共92页
Simulink入门教程.docx_第10页
第10页 / 共92页
Simulink入门教程.docx_第11页
第11页 / 共92页
Simulink入门教程.docx_第12页
第12页 / 共92页
Simulink入门教程.docx_第13页
第13页 / 共92页
Simulink入门教程.docx_第14页
第14页 / 共92页
Simulink入门教程.docx_第15页
第15页 / 共92页
Simulink入门教程.docx_第16页
第16页 / 共92页
Simulink入门教程.docx_第17页
第17页 / 共92页
Simulink入门教程.docx_第18页
第18页 / 共92页
Simulink入门教程.docx_第19页
第19页 / 共92页
Simulink入门教程.docx_第20页
第20页 / 共92页
亲,该文档总共92页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Simulink入门教程.docx

《Simulink入门教程.docx》由会员分享,可在线阅读,更多相关《Simulink入门教程.docx(92页珍藏版)》请在冰点文库上搜索。

Simulink入门教程.docx

Simulink入门教程

Simulink-入门教程

LT

 

在 Simulink Editor中构建和编辑模型

∙启动 Simulink 并创建一个新模型

∙向模型中添加模块

∙对齐和连接模块

∙设置模块参数

∙添加更多模块

∙建立分支连接

∙组织模型

∙对模型进行仿真并查看结果

∙修改模型

本示例介绍创建模型、向模型中添加模块、连接模块以及仿真模型的基础知识。

您还将学习如何使用子系统组织模型、为模型的组件命名以及修改模型。

启动 Simulink 并创建一个新模型

1.在MATLAB® 主页选项卡中,点击 Simulink。

2.在Simulink® StartPage上,点击 BlankModel 模板。

将在SimulinkEditor中打开一个基于 BlankModel 模板的新模型。

3.打开LibraryBrowser,以访问创建模型需要的模块。

在SimulinkEditor中,点击 LibraryBrowser 按钮 

向模型中添加模块

一个模型至少要接收一个输入信号,对该信号进行处理,然后输出结果。

在LibraryBrowser中,Sources库包含代表输入信号的模块。

Sinks库包含用于捕获和显示输出的模块。

其他库包含可用于各种用途(如数学运算)的模块。

在此基本模型中,输入信号为正弦波,执行的操作为增益运算(通过乘法增加信号值),结果输出到一个Scope窗口。

尝试使用不同的方法来浏览库,并向您的模型中添加模块。

1.打开Sources库。

在LibraryBrowser的树视图中,点击 Sources 库。

2.在右窗格中,将光标悬停在 SineWave 模块上,以查看描述其用途的工具提示。

3.使用上下文菜单在模型中添加一个模块。

右键点击该模块并选择 Addblocktomodeluntitled。

(要了解该模块的详细信息,请从上下文菜单中选择 Help。

4.通过拖放操作在模型中添加一个模块。

在库树视图中,点击 MathOperations。

在MathOperations库中,找到 Gain 模块,然后将其拖到模型中 SineWave 模块的右侧。

5.在库树视图中,点击 Simulink,查看以图标形式显示在右窗格中的子库。

此视图是导航库结构的另一种方法。

双击 Sinks 库图标。

6.在Sinks库中,找到 Scope 模块,然后使用上下文菜单或通过拖放操作将其添加到模型中。

现在,您的模型如下图所示。

对齐和连接模块

可将模块连接起来,在模型元素之间建立能够使模型正常工作所需要的关系。

当您根据模块之间的交互方式对齐模块后,模型将更加一目了然。

快捷方式可以帮助您对齐和连接模块。

1.拖动Gain模块,使其与SineWave模块对齐。

当两个模块水平对齐时,将出现一条对齐参考线。

释放模块,此时将出现一个蓝色箭头,作为建议连接线的预览。

2.要接受该连接线,请点击箭头的末端。

此时参考线将变成一条实线。

3.采用同样的方法,将Scope模块与Gain模块对齐并连接起来。

提示

可以使用 Diagram > Arrange 菜单查看其他对齐方式选项。

设置模块参数

您可以设置大多数模块上的参数。

参数可以帮助您指定模块如何在模型中工作。

您可以使用默认值,也可以根据需要设置值。

可以使用PropertyInspector设置参数。

也可以双击大多数模块,使用模块对话框来设置参数。

要了解何时使用每一种方式,请参阅设置属性和参数。

在模型中,您可以在 SineWave 模块中设置幅值,在 Gain 模块中设置增益值。

1.显示PropertyInspector。

选择 View > PropertyInspector。

2.选择 SineWave 模块。

3.在PropertyInspector中,将 Amplitude 参数设置为 2。

4.选择 Gain 模块并将 Gain 参数设置为 3。

该值将显示在模块上。

添加更多模块

假设您要再执行一个增益运算,但这次针对的是 SineWave 模块的输出绝对值。

为了实现此目的,需要添加一些模块,请尝试通过不同的方式找到库中的模块并添加到模型中。

1.如果知道要添加的模块的名称,可以使用快捷方式。

点击模型中要添加模块的位置,然后键入模块名称(在本例中为Gain)。

此时将显示一个可能的模块列表。

2.点击模块名称,或者在突出显示模块名称后按 Enter。

如果它不是列表中的第一个模块,您可以使用箭头键突出显示模块名称。

使用此方法可以在出现蓝色放大镜的任何位置添加模块,例如在您绘制信号线时。

3.许多模块会显示要求您为某个模块参数输入值的提示。

Gain 模块会提示您输入 Gain 值。

键入 3 并按 Enter。

每增加一个模块实例,名称中的数字就会增加1,例如Gain1、Gain2等。

4.在模型中添加一个 Abs 模块。

假定您不知道模块在哪个库中,也不知道模块的完整名称。

这种情况下,可以使用LibraryBrowser中的搜索框进行搜索。

在搜索框中输入 abs 并按 Enter。

当您找到Abs模块后,将其添加到Gain1模块的左侧。

5.添加另一个Scope模块。

您可以右键点击并拖动现有的Scope模块为其创建一个副本,或使用 Edit > Copy 和Edit > Paste。

下图显示了您的模型的当前状态。

注意

当您按照数字顺序为模型中的模块命名时(例如Gain1、Gain2等),复制和粘贴操作将按照ASCII字符的标准排序约定生成模块名称。

这种排序方法可能会导致模块名称中出现一串难以理解的数字。

如果编号方案对您很重要,请为模块编号,使复制和粘贴操作生成的模块名称遵循常见的阅读顺序。

为此,请在模块名称中使用前导零,例如Gain001、Gain002等。

建立分支连接

第二个增益运算的输入是正弦波的绝对值。

要使用一个 SineWave 模块作为两个增益运算的输入,需要从 SineWave 模块输出信号上创建一条分支。

1.对于模型中的第一组模块,您使用了水平对齐参考线帮助您对齐和连接模块。

您还可以使用参考线垂直对齐模块。

将Scope1模块拖动到Scope模块下面并与之对齐。

当垂直对齐参考线显示两个模块已对齐时,释放模块。

2.按下图所示对齐并连接Abs和Gain1模块。

3.从SineWave模块的输出端口创建一条连接到Abs模块的分支线。

当光标悬停在SineWave模块的输出信号线上时,按住 Ctrl 键并向下拖动。

拖动分支线,直到末端靠近Abs模块为止。

4.向Abs模块拖动,直到分支线连接到该模块。

根据需要移动顶点,以拉直该线。

(顶点上出现一个圆圈。

您可以尝试用其他方法来连接模块:

∙拖动鼠标,从一个模块的输出向另一个模块的输入绘制一条连接。

当您的模块已对齐(即不显示参考线)时,可以使用此方法。

∙选择第一个模块,然后按住 Ctrl 键并点击要连接的模块。

当您不希望模块对齐时,可以使用此方法。

连接线根据需要拐弯以建立连接,如下图所示。

注意

您可以选择多个模块,将它们连接到一个具有多个输入端口的模块(例如,总线)。

要从线段逼近对角线,请按住 Shift 键并拖动顶点。

提示

要改善信号线的形状,请选择信号线,然后从省略号菜单中选择 AutorouteLine。

如果模型元素之间存在更好的路线,则会重新绘制信号线。

组织模型

您可以将模块组合成子系统,并为模块、子系统和信号添加标签。

有关子系统的详细信息,请参阅创建子系统。

1.拖动鼠标,在Abs和Gain1模块周围绘制一个选择框。

2.将光标移动到选择框右下角出现的省略号上。

从工具栏中选择 CreateSubsystem。

模型中将出现一个子系统模块,代替 Abs 和 Gain1 模块。

要调整子系统模块的大小,使其最适合您的模型,请拖动模块句柄。

3.为子系统指定有意义的名称。

双击模块名称并键入 AbsoluteValue。

4.双击AbsoluteValue子系统将其打开。

提示

要使用ExplorerBar来导航模型层次结构,请右键点击模块并选择 OpeninNewTab。

该子系统包含您选择作为子系统基础的Abs和Gain1模块。

它们依次连接到两个新模块:

In1(Inport模块)和Out1(Outport模块)。

Inport和Outport模块对应于子系统的输入端口和输出端口。

5.点击SimulinkEditor中的 UptoParent 按钮 

 返回到模型顶层。

6.您可以为任何信号命名。

双击信号并键入名称即可。

例如,双击来自Gain模块的信号,然后键入 MySignal。

双击信号线而不是画布的空白区域,否则将创建一个单独的文本元素(注释)。

有关处理信号名称的其他方法,请参阅信号名称和标签操作。

下图显示了您创建子系统、命名子系统并命名信号之后的模型。

提示

要查看其他调整大小和对齐选项,请使用 Diagram > Arrange 菜单。

对模型进行仿真并查看结果

1.您可以使用 Simulation > Run 命令(Ctrl+T)或 Run 按钮 

 对模型进行仿真。

您可以使用自己偏好的方法对模型进行仿真。

在本示例中,仿真运行10秒,此为默认设置。

2.双击两个Scope模块将其打开,然后查看结果。

在每个Scope中,点击 Autoscale 按钮 

 以查看完整信号。

下图显示了两个结果。

在第二个图中,不出所料,正弦波的绝对值始终为正。

修改模型

您可以在现有信号上添加模块、从模型中移除模块以及重新绘制连接线。

要修改此模型,请为模型中两个分支的输入添加一个偏置。

再将其中一个Scope替换为另外一种信宿。

对于某些模块,从其他模块上连接一条线会在该模块上添加一个输入端口或输出端口。

例如,当您为子系统添加连接线时,子系统上会出现一个端口。

产生端口的其他模块包括 BusCreator、Scope 以及 Add、Sum 和 Product 模块。

有关详细信息,请参阅AutomaticPortCreation:

Addinportsandoutportstoblockswhenroutingsignals​。

1.在模型中添加一个Bias模块,并将 Bias 参数设置为 2。

2.将该模块拖动到SineWave模块后面、分支线前面的信号线上。

如果您需要为该模块腾出空间,请将SineWave模块向左拖动,或者拖动分支线的末端,将分支线向右移动。

当您将模块拖动到信号线上时,模块的两侧将与信号线连接起来。

当您对位置感到满意时,释放模块。

3.移除Scope模块。

如果要断开Scope模块与模型的连接,但不想将其删除,请按住 Shift 键并拖动该模块。

使用 Edit 菜单命令或键盘按键剪切或删除此模块。

断开的连接线显示为红色点线。

提示

当您删除具有一个输入端口和一个输出端口的模块时,断开的连接线之间会出现提示。

点击该提示可将信号连接起来。

4.向模型中添加一个 ToWorkspace 模块,并将其放在断开的连接线的末端。

ToWorkspace 模块将结果输出给MATLAB工作区中的一个变量。

5.再向子系统中添加一个输入。

向模型中添加一个 SineWave 模块,并将幅值设置为 5。

将其放在子系统模块的左侧。

6.拖动鼠标从新的 SineWave 模块向子系统的左侧绘制一条线。

模块上将出现一个新端口In2。

7.再向子系统中添加一个输出。

向模型中添加一个 ToWorkspace 模块,并将其放在子系统的右侧。

拖动鼠标从输入端口向子系统的右侧绘制一条线。

模块上将出现一个新端口Out2。

8.打开子系统并将Out1模块重命名为Scope。

将Out2模块重命名为Workspace。

向模型添加一个 ManualSwitch 模块。

调整大小并按下图所示进行连接。

在Gain模块后绘制分支信号,以将输出指向 ToWorkspace 模块。

然后,返回到模型的顶层。

下图显示了当前模型。

9.对模型进行仿真。

osimout 和 simout1 变量出现在MATLAB工作区中。

您可以双击每个变量以查看结果。

o如果要使用第二条正弦波作为子系统算法的输入,请打开子系统并双击开关。

输入更改为In2。

再次进行仿真。

提示

要在使用和不使用 Bias 模块的模型仿真效果之间切换,请右键点击 Bias 模块,然后选择 CommentThrough。

此模块仍然在模型中,但不影响运算。

右键点击 Bias 模块,然后选择 Uncomment 即可启用此模块。

CommentOut 命令会注释掉模块的输出信号,因此不传递信号数据。

请使用上述每个命令进行尝试,以便更好地理解它们的效果。

 

创建模型和现有打开模型

∙创建模型

∙使用自定义设置创建新模型

∙打开模型

∙在打开模型时加载变量

∙打开使用不同字符编码的模型

∙Simulink 模型文件类型

创建模型

1.在MATLAB® 主页选项卡中,点击 Simulink。

2.在Simulink® 首页,选择一个模板或搜索模板。

模型模板是应用常见建模方法的起点。

它们可以帮助您重用设置和模块配置,并与他人分享知识。

使用模型和工程模板来应用最佳实践,并充分利用以前的建模解决方案。

点击模板标题以阅读其说明。

要定位不在MATLAB搜索路径中的模板,请点击 Open。

模型模板的扩展名为 .sltx。

3.选择您需要的模板后,点击 CreateModel。

要使用模板而不阅读说明,请点击模板图像。

或者按 Ctrl+N 以使用默认模板。

要设置默认模板,请参阅使用自定义设置创建新模型。

此时将在SimulinkEditor中打开一个使用模板设置和内容的新模型。

有关后续步骤,请参阅在SimulinkEditor中构建和编辑模型。

如果内置模板不能满足您的需要,请尝试在 Examples 选项卡上搜索,也可以自行创建模板。

请参阅CreateaTemplatefromaModel。

在 Examples 选项卡上,输入搜索词以查找感兴趣的示例标题和描述,或者点击产品名称旁边的 ViewAll,以打开网络上的更多示例。

使用自定义设置创建新模型

您可以为所有新模型指定一个模型模板。

1.使用所需的配置设置和模块创建一个模型,然后将该模型导出到模板中。

请参阅CreateaTemplatefromaModel。

2.要在每个新模型中重用这些设置,请使用SimulinkStartPage或 Simulink.defaultModelTemplate 函数将新模板设置为默认的模型模板。

在StartPage上,点击模板标题以展开其说明,然后点击 CreateModel 旁边的向下箭头并选择 SetAsDefault。

设置默认的模型模板后,每个新模型都将使用该模板,例如,当您按 Ctrl+N、使用新模型按钮或使用 new_system 时,都会使用该模板。

在SimulinkEditor中,当您选择 File > New > MyDefaultTemplateName 时,默认模板名称位于列表的顶部。

默认模板在StartPage上显示一个标记。

打开模型

打开模型时,模型将加载到内存中并显示在SimulinkEditor中。

使用以下方式之一:

∙在MATLAB 主页选项卡中,点击 Simulink。

在SimulinkStartPage上,从列表中选择一个最近使用的模型或工程,或点击 Open。

∙在SimulinkEditor中,选择 File > OpenRecent,然后选择一个最近使用过的模型。

∙在MATLAB命令提示符下,输入不带文件扩展名的模型名称,例如 vdp。

该模型必须在当前文件夹或MATLAB搜索路径中。

∙在SimulinkLibraryBrowser中,点击 Openmodelorlibrary 按钮 

∙使用“当前文件夹”浏览器或您操作系统上的文件浏览器打开模型。

提示

设置收藏夹可从StartPage轻松回到您喜欢的模型和工程。

在SimulinkStartPage上最近使用的文件列表中,您可以将文件添加到收藏夹中。

然后,Favorites列表将显示在StartPage上最近使用的文件上方,以便您轻松重新打开自己喜欢的模型和工程。

要清除StartPage上最近使用的文件列表,请在MATLAB中输入:

slhistory.clear

注意

要在旧版本的Simulink中打开在新版本中创建的模型,首先要将模型导出到旧版本。

请参阅将模型导出到以前的Simulink版本。

在打开模型时加载变量

在构建模型的过程中,有时您需要为模型定义变量。

例如,假设您有一个模型,其中包含一个Gain模块。

您可以指定变量 K 作为增益,而不是在模块上设置该值。

使用这种方法时,必须为要仿真的模型定义变量 K。

当您打开模型时,可以使用模型回调来加载变量。

1.在使用Gain模块的模型中,将该模块的 Gain 值设置为 K。

2.在MATLAB脚本中定义变量。

在MATLAB中,选择新建 > 脚本。

在脚本中输入您的变量定义:

K=27

3.将脚本另存为 loadvar.m。

4.在模型中,打开PropertyInspector。

选择 View > PropertyInspector。

如果未在模型顶层选择任何内容,可使用PropertyInspector设置模型属性。

否则,请使用 File > ModelProperties。

5.在模型属性的 Callbacks 部分,选择 PreLoadFcn 作为您要定义的回调。

在窗格中输入 loadvar。

6.保存模型。

下次您打开该模型时,PreloadFcn 回调会将变量加载到MATLAB工作区中。

有关回调的信息,请参阅针对自定义模型行为的回调。

要以编程方式定义加载变量的回调,请参阅打开模型时通过编程方式加载变量。

打开使用不同字符编码的模型

如果您在使用不同编码的MATLAB会话中打开使用特定字符集编码的MDL文件,将会出现警告。

例如,假设您在为 Shift_JIS 配置的MATLAB会话中创建一个MDL文件,然后在为 US_ASCII 配置的会话中打开它,此时就会出现警告。

警告消息显示当前会话的编码以及创建模型时所使用的编码。

SLX文件不会发出警告,因为它们可以存储任何编码的字符。

如果您遇到任何字符损坏的问题(例如,使用与模型关联的MATLAB文件时),请尝试使用 slCharacterEncoding 函数更改当前MATLAB会话的字符编码,使其与模型的字符编码相匹配。

Simulink可以检查模型中是否包含当前区域设置不支持的字符。

有关详细信息,请参阅Checkmodelforforeigncharacters和保存具有不同字符编码的模型。

Simulink 模型文件类型

默认情况下,您创建的新模型带有 .slx 扩展名。

在R2012b之前创建的模型带有 .mdl 扩展名。

可编辑的模型可以带有 .slx 或 .mdl 扩展名,具体取决于模型的创建时间以及是否进行过转换。

请参阅将模型保存为SLX文件格式。

.slxp 和 .mdlp 扩展名表示受保护的模型,不能打开和编辑。

请参阅受保护模型。

模型模板的扩展名为 .sltx。

Simulink库还使用 .slx 扩展名,但您不能对这些模型进行仿真。

要了解详细信息,请参阅创建自定义库。

另请参阅

Simulink.createFromTemplate | Simulink.defaultModelTemplate | Simulink.findTemplates | open_system | simulink

 

保存模型

∙如何判断模型需要保存

∙保存模型

∙保存模型时会执行哪些操作?

∙将模型保存为SLX文件格式

∙保存具有不同字符编码的模型

∙将模型导出到以前的 Simulink 版本

∙从一个旧版本 Simulink 保存到另一个旧版本

如何判断模型需要保存

要判断模型是否需要保存,请查看Simulink® Editor的标题栏。

如果模型需要保存,标题栏中的模型名称旁边会显示一个星号(称为修改标志:

*)。

要通过编程方式确定模型是否需要保存,请使用模型参数 Dirty。

例如:

ifstrcmp(get_param(gcs,'Dirty'),'on')

save_system;

end

保存模型

第一次保存模型时,请在SimulinkEditor中选择 File > Save。

为模型文件提供位置和名称。

有关名称的要求,请参阅模型名称。

要保存之前保存过的模型,请执行以下操作:

∙要替代文件内容,请在SimulinkEditor中选择 File > Save。

∙要使用新名称或在新位置保存模型,或者要从MDL更改为SLX格式,请在SimulinkEditor中选择 File > SaveAs。

注意

有关SLX格式的详细信息,请参阅将模型升级到SLX。

∙要将模型保存为与早期版本兼容的格式,请选择 File > ExportModelto > PreviousVersion。

请参阅将模型导出到以前的Simulink版本。

模型名称

模型文件名必须以字母开头,可以包含字母、数字和下划线。

文件名不能为:

∙语言关键字(例如 if、for、end)

∙保留名称:

'simulink'、'sl'、'sf'

∙MATLAB® 软件命令

模型名称中的字符总数不能超过某个最大值,通常为63个字符。

要确定您的系统的最大值是否大于63个字符,请使用MATLAB中的 namelengthmax 命令。

要了解当您指定模型名称时MATLAB如何确定调用哪个函数,请参阅函数优先顺序 (MATLAB)。

保存模型时会执行哪些操作?

Simulink将模型(模块图)和模块属性保存在模型文件中。

如果您指定了任何要在保存前或保存后执行的函数,它们将按以下顺序执行:

1.先执行所有模块的 PreSaveFcn 回调例程,然后执行模型的 PreSaveFcn 回调例程。

2.Simulink写入模型文件。

3.执行所有模块 PostSaveFcn 回调例程,然后执行模型 PostSaveFcn。

在保存过程中,Simulink会维护一个临时备份副本(名为 modelname.bak),用于在发生错误时还原。

如果在保存时,或者在保存过程中执行任何回调时发生错误,Simulink会:

∙还原原始文件

∙将发生错误之前保存的任何内容写入到名为 modelname.err 的文件中

∙发出一条错误消息

保存从SLX文件中加载的模型时,原始SLX文件必须依然存在。

Simulink对SL

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2