simulink仿真入门
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
打开Simulink模型窗口中的菜单Help 下的选项Block Support Table,打开如 下图所示的帮助窗口,总结了所有 Simulink库中的模块所支持的数据类型。
打开Simulink模型窗口的【Format】 |【Port/Signal Displays】|【Port Data Types】,查看信号的数据类型和模块输入 /输出端口的数据类型,如下图所示。
� 用鼠标左键双击Subsystem模块图标打开 如下图所示Subsystem模块编辑窗口;
� 在新的空白窗口创建子系统,然后保存; � 运行仿真并保存。
例 通过组合已存在的模块创建子系统。具体 步骤如下。
� 创建如下图所示的系统; � 选中要创建成子系统的模块,如下图所
示;
� 选择【Edit】|【Create Subsystem】 菜单,结果如下图所示;
1.【File】菜单 2.【Edit】菜单 3.【View】菜单
4.【Simulation】菜单 5.【Format】菜单 6.【Tools】菜单 7.【Help】菜单
Simulink模块库浏览器各部分的用 途,如下图所示。
1.【File】菜单
【File】菜单中各选项的名称与功能如 下表所示。
9.1.5 Simulink里的数据类型
1.Simulink支持的数据类型 2.数据类型的传播 3.使用复数信号
Simulink在仿真开始之前和运行过程 中会自动确认模型的类型安全性,以保证 该模型产生的代码不会出现上溢或下溢。
1.Simulink支持的数据类型
Simulink 支 持 所 有 的 MATLAB 内 置 数 据类型,除此之外Simulink还支持布尔类 型。
在Simulink中通常用下面两种方法来 建立处理复数信号的模型,如下图所示。
� 在模型中加入Constant模块,并将其参 数设为复数。
� 分别生成复数的虚部和实部,再用RealImage to Complex模块把它们联合成一 个复数。
� 分别生成复数的幅值和幅角,再用 Magnitue-Angle to Complex模块把它们 联合成一个复数。
Simulink的仿真过程包括如下几个阶 段: � 模型编译阶段; � 连接阶段; � 仿真环阶段。
(1)模型编译阶段 Simulink引擎调用模型编译器,将模
型编译成可执行文件。 编译器完成以下任务:
� 计算模块参数的表达式以确定它们的值; � 确定信号属性(如名字、数据类型等); � 传递信号属性以确定未定义信号的属性。
1.图形化模型与数学模型间的关系
现实中每个系统都有输入、输出和状 态3个基本要素,以及它们之间随时间变化 的数学函数关系,即数学模型。
图形化模型也体现了输入、输出和状 态间随时间变化的某种关系,如下图所示。
只要这两种关系在数学上是等价的, 那么就可以图形化模型代替数学模型。
2.图形化模型的仿真过程
Discontinuities子库
Discrete子库
Logic and Bit Operations子库
续表
Math Operations子库
续表
Ports & Subsystems子库
续表
Sinks子库
Sources子库
User-Defined Functions子库
9.2 模型的创建
2.数据类型的传播
相连模块的输出/输入信号所支持的数 据类型如果是不相同的,在仿真中就会弹 出错误提示对话框,告知出现冲突的信号 和端口。
此时可以尝试在冲突的模块间插入 DataTypeConversion 模 块 来 解 决 类 型 冲 突。
3.使用复数信号
Simulink默认的信号值都是实数,但 在实际问题中有时需要处理复数信号。
鼠标右键单击模块并在弹出的上下文 菜单中选择【Block Properties】,会弹 出属性设置对话框,如下图所示,其中包 括如下三项内容。 � 【General】页; � 【Block Annotation】页; � 【Callbacks】页。
(1)【General】页 � Description:用于对该模块在模型中的
1.模块的基本操作 2.创建模型的基本步骤 3.模型文件格式
1.模块的基本操作
下表汇总了Simulink对模块进行操作 的部分方法。
对模块进行操作
续表
下表汇总了Simulink对直线进行操作 的部分方法。
对直线进行操作
双击模块将会弹出【参数设置】对话 框,如下图所示的增益模块,进而设置参 数值。
� 单击【Apply】或【OK】按钮保存设置。
3.封装示例
例 简介封装的过程。具体步骤如下: (1)建立如下图所示的含有子系统的模 型,并设置子系统中Gain模块的Gain参数 为一变量m。
(2)选中模型中的Subsystem子系统,选 择【Edit】|【Mask Subsystem】菜单进 行封装,进而选择【Edit】|【Edit mask】 菜单(或用鼠标右键单击子系统弹出上下 文菜单,选择【Edit mask】菜单)打开 封装编辑器,如下图所示。
9.1 Simulink概述
9.1.1 Simulink的概念 9.1.2 Simulink的工作环境 9.1.3 Simulink的工作原理
9.1.4 Simulink模型的特点 9.1.5 Simulink里的数据类型 9.1.6 Simulink里的模块和模块库
9.1.1 Simulink的概念
� 优化模块; � 展开模型的继承关系(如子系统); � 确定模块运行的优先级; � 确定模块的采样时间。
(2)连接阶段 Simulink引擎按执行次序创建运行列
表,初始化每个模块的运行信息。
(3)仿真环阶段 Simulink 引 擎 从 仿 真 的 开 始 到 结 束 ,
在每一个采样点按运行列表计算各模块的状 态和输出。
9.3 子系统及其封装
9.3.1 创建子系统 9.3.2 封装子系统 9.3.3 自定义模块库
9.3.1 创建子系统
1.子系统的作用 2.子系统的创建方法 3.子系统创建示例
1.子系统的作用
通过子系统可以把复杂的模型分割成若 干个简单的模型,具有以下优点: � 减少模型窗口中模块的个数,使得模型窗 口整洁。 � 把一些功能相关的模块集成在一起,可以 复用。 � 通过子系统可以实现模型图表的层次化。
2.子系统的创建方法
Simulink有如下两种创建子系统的方 法。 � 通过子系统模块来创建子系统:先向模型 中添加Subsystem模块,然后打开该模块 并向其中添加模块; � 组合已存在的模块集。
3.子系统创建示例
例 通过Subsystem模块创建子系统。具体步 骤如下。
� 从Ports&Subsystems中复制Subsystem 模块到模型中,如下图所示;
Simulink是MATLAB提供的实现动态 系统建模和仿真的软件包,是MATLAB相 对独立的重要的组成部分。
Simulink的突出特点是支持图形用户 界面(GUI),模型由模块组成的框图来表 示。
启动Simulink(6.0版)有如下3种方式: � 在 MATLAB 的 命 令 窗 口 直 接 键 入 命 令
仿真环阶段又分成以下两个子阶段: � 初始化阶段:该阶段只运行一次,用于初
始化系统的状态和输出; � 迭代阶段:该阶段在定义的时间段内按采
样点间的步长重复运行。
9.1.4 Simulink模型的特点
Simulink建立的模型具有以下3个特点: � 仿真结果的可视化; � 模型的层次性; � 可封装子系统。
� 保存模型,模型文件的后缀名为.mdl; � 运行并调试模型。
3.模型文件格式
Simulink还提供了通过命令行建立模 型和设置模型参数的方法。
Simulink将每一个模型(包括库)都 保存在一个以.mdl为后缀的文件里,称为 模型文件。
一个模型文件就是一个结构化的ASCII 文件,它包括关键字和各种参数的值。
用法进行注释; � Priority:定义该模块在模型中执行的优
先顺序; � Tag:为模块添加文本格式的标记。
(2)【Block Annotation】页 用于指定在图标下显示模块的参数、
取值及格式。
(3)【Callbacks】页 用于定义该模块发生某种指定行为时
所要执行的回调函数。 对信号进行标注以及对模型进行注
� 为子系统创建可以反映子系统功能的图标。 � 可以避免用户在无意中修改子系统中模块
的参数。
2.封装的过程
� 选择需要封装的子系统,并选择【Edit】 |【Mask Subsystem】菜单进行封装。
� 选择【Edit】|【Edit mask】菜单,这 时会弹出如下图所示的封装编辑器,通过 它进行各种设置。
第九章 Simulink 仿真
本章主要讲解: � Simulink的概念及其应用; � Simulink搭建系统模型的方法及特
点; � Simulink环境中的仿真及调试。
目录
9.1 Simulink概述 9.2 模型的创建 9.3 子系统及其封装 9.4 过 零 检 测 9.5 代 数 环
9.6 回 调 函 数 9.7 运 行 仿 真 9.8 仿真结果分析 9.9 模型的调试 9.10 S 函 数 9.11 实 例 习题
� 运行仿真并保存。
9.3.2 封装子系统
1.封装的作用 2.封装的过程 3.封装示例
封装后的子系统与Simulink提供 的模块一样拥有图标,并且用鼠标左 键双击图标时会出现一个用户自定义 的【参数设置】对话框,实现在对话 框中设置子系统中的参数。
1.封装的作用
� 子系统中各个模块的参数通过参数对话框 就可以进行设置。
Simulink; � 用鼠标左键单击MATLAB工具条上的按钮; � 在MATLAB菜单上选择【File】|【New】|
【Model】选项。
运行后会弹出如下图所示的Simulink 模块库浏览器窗口 。
使用第3种方式打开时还会弹出如下图 所示的新建模型窗口。
9.1.2 Simulink的工作环境
释,方法如下表所示。
在连线上反映信息
对注释进行处理
2.创建模型的基本步骤
利用Simulink进行系统建模和仿真的 一般步骤如下。 � 绘制系统流图; � 启动Simulink模块库浏览器,新建一个 空白模型窗口; � 将所需模块放入空白模型窗口中,按系统 流图的布局连接各模块,并封装子系统;
� 设置各模块的参数以及与仿真有关的各种 参数;
【File】菜单
2.【Edit】菜单
【Edit】菜单中各选项的名称与功能如 下表所示。
【Editwk.baidu.com菜单
3.【View】菜单
【View】菜单中部分主要选项的名称 与功能如下表所示。
【View】菜单
4.【Simulation】菜单
【Simulation】菜单如下图所示。
【Simulation】菜单各选项的功能如下 : � 【Start】:开始运行仿真; � 【Stop】:停止仿真; � 【Configuration Parameters】:设置
【Format】菜单
6.【Tools】菜单
【Tools】菜单中部分主要选项的名称 与功能如下表所示。
【Tools】菜单
7.【Help】菜单
【Help】菜单中部分主要选项的名称 与功能如下表所示。
【Help】菜单
9.1.3 Simulink的工作原理
1.图形化模型与数学模型间的关系 2.图形化模型的仿真过程
(3)按照如下图所示设置【Icon页】。 ① Icon options面板:定义图标的边框是否
仿真参数和选择解法器; � 【 Normal 】 、 【 Accelerator 】 、
【External】分别表示正常工作模式、加 速仿真和外部工作模式。
5.【Format】菜单
【Format】菜单用于设置字体、屏幕 颜色、模块名的显示、模块显示颜色、信 号和端口类型和宽度等。
该菜单部分主要选项的名称与功能如 下表所示。
9.1.6 Simulink里的模块和模块库
模块库提供各种基本模块,它按应用 领域以及功能组成若干子库,并按树状结 构进行显示。
模块是Simulink建模的基本元素。 下表详细介绍了Simulink中常用子库 中常用模块的功能 。
Commonly Used Blocks子库
Continuous子库
打开Simulink模型窗口的【Format】 |【Port/Signal Displays】|【Port Data Types】,查看信号的数据类型和模块输入 /输出端口的数据类型,如下图所示。
� 用鼠标左键双击Subsystem模块图标打开 如下图所示Subsystem模块编辑窗口;
� 在新的空白窗口创建子系统,然后保存; � 运行仿真并保存。
例 通过组合已存在的模块创建子系统。具体 步骤如下。
� 创建如下图所示的系统; � 选中要创建成子系统的模块,如下图所
示;
� 选择【Edit】|【Create Subsystem】 菜单,结果如下图所示;
1.【File】菜单 2.【Edit】菜单 3.【View】菜单
4.【Simulation】菜单 5.【Format】菜单 6.【Tools】菜单 7.【Help】菜单
Simulink模块库浏览器各部分的用 途,如下图所示。
1.【File】菜单
【File】菜单中各选项的名称与功能如 下表所示。
9.1.5 Simulink里的数据类型
1.Simulink支持的数据类型 2.数据类型的传播 3.使用复数信号
Simulink在仿真开始之前和运行过程 中会自动确认模型的类型安全性,以保证 该模型产生的代码不会出现上溢或下溢。
1.Simulink支持的数据类型
Simulink 支 持 所 有 的 MATLAB 内 置 数 据类型,除此之外Simulink还支持布尔类 型。
在Simulink中通常用下面两种方法来 建立处理复数信号的模型,如下图所示。
� 在模型中加入Constant模块,并将其参 数设为复数。
� 分别生成复数的虚部和实部,再用RealImage to Complex模块把它们联合成一 个复数。
� 分别生成复数的幅值和幅角,再用 Magnitue-Angle to Complex模块把它们 联合成一个复数。
Simulink的仿真过程包括如下几个阶 段: � 模型编译阶段; � 连接阶段; � 仿真环阶段。
(1)模型编译阶段 Simulink引擎调用模型编译器,将模
型编译成可执行文件。 编译器完成以下任务:
� 计算模块参数的表达式以确定它们的值; � 确定信号属性(如名字、数据类型等); � 传递信号属性以确定未定义信号的属性。
1.图形化模型与数学模型间的关系
现实中每个系统都有输入、输出和状 态3个基本要素,以及它们之间随时间变化 的数学函数关系,即数学模型。
图形化模型也体现了输入、输出和状 态间随时间变化的某种关系,如下图所示。
只要这两种关系在数学上是等价的, 那么就可以图形化模型代替数学模型。
2.图形化模型的仿真过程
Discontinuities子库
Discrete子库
Logic and Bit Operations子库
续表
Math Operations子库
续表
Ports & Subsystems子库
续表
Sinks子库
Sources子库
User-Defined Functions子库
9.2 模型的创建
2.数据类型的传播
相连模块的输出/输入信号所支持的数 据类型如果是不相同的,在仿真中就会弹 出错误提示对话框,告知出现冲突的信号 和端口。
此时可以尝试在冲突的模块间插入 DataTypeConversion 模 块 来 解 决 类 型 冲 突。
3.使用复数信号
Simulink默认的信号值都是实数,但 在实际问题中有时需要处理复数信号。
鼠标右键单击模块并在弹出的上下文 菜单中选择【Block Properties】,会弹 出属性设置对话框,如下图所示,其中包 括如下三项内容。 � 【General】页; � 【Block Annotation】页; � 【Callbacks】页。
(1)【General】页 � Description:用于对该模块在模型中的
1.模块的基本操作 2.创建模型的基本步骤 3.模型文件格式
1.模块的基本操作
下表汇总了Simulink对模块进行操作 的部分方法。
对模块进行操作
续表
下表汇总了Simulink对直线进行操作 的部分方法。
对直线进行操作
双击模块将会弹出【参数设置】对话 框,如下图所示的增益模块,进而设置参 数值。
� 单击【Apply】或【OK】按钮保存设置。
3.封装示例
例 简介封装的过程。具体步骤如下: (1)建立如下图所示的含有子系统的模 型,并设置子系统中Gain模块的Gain参数 为一变量m。
(2)选中模型中的Subsystem子系统,选 择【Edit】|【Mask Subsystem】菜单进 行封装,进而选择【Edit】|【Edit mask】 菜单(或用鼠标右键单击子系统弹出上下 文菜单,选择【Edit mask】菜单)打开 封装编辑器,如下图所示。
9.1 Simulink概述
9.1.1 Simulink的概念 9.1.2 Simulink的工作环境 9.1.3 Simulink的工作原理
9.1.4 Simulink模型的特点 9.1.5 Simulink里的数据类型 9.1.6 Simulink里的模块和模块库
9.1.1 Simulink的概念
� 优化模块; � 展开模型的继承关系(如子系统); � 确定模块运行的优先级; � 确定模块的采样时间。
(2)连接阶段 Simulink引擎按执行次序创建运行列
表,初始化每个模块的运行信息。
(3)仿真环阶段 Simulink 引 擎 从 仿 真 的 开 始 到 结 束 ,
在每一个采样点按运行列表计算各模块的状 态和输出。
9.3 子系统及其封装
9.3.1 创建子系统 9.3.2 封装子系统 9.3.3 自定义模块库
9.3.1 创建子系统
1.子系统的作用 2.子系统的创建方法 3.子系统创建示例
1.子系统的作用
通过子系统可以把复杂的模型分割成若 干个简单的模型,具有以下优点: � 减少模型窗口中模块的个数,使得模型窗 口整洁。 � 把一些功能相关的模块集成在一起,可以 复用。 � 通过子系统可以实现模型图表的层次化。
2.子系统的创建方法
Simulink有如下两种创建子系统的方 法。 � 通过子系统模块来创建子系统:先向模型 中添加Subsystem模块,然后打开该模块 并向其中添加模块; � 组合已存在的模块集。
3.子系统创建示例
例 通过Subsystem模块创建子系统。具体步 骤如下。
� 从Ports&Subsystems中复制Subsystem 模块到模型中,如下图所示;
Simulink是MATLAB提供的实现动态 系统建模和仿真的软件包,是MATLAB相 对独立的重要的组成部分。
Simulink的突出特点是支持图形用户 界面(GUI),模型由模块组成的框图来表 示。
启动Simulink(6.0版)有如下3种方式: � 在 MATLAB 的 命 令 窗 口 直 接 键 入 命 令
仿真环阶段又分成以下两个子阶段: � 初始化阶段:该阶段只运行一次,用于初
始化系统的状态和输出; � 迭代阶段:该阶段在定义的时间段内按采
样点间的步长重复运行。
9.1.4 Simulink模型的特点
Simulink建立的模型具有以下3个特点: � 仿真结果的可视化; � 模型的层次性; � 可封装子系统。
� 保存模型,模型文件的后缀名为.mdl; � 运行并调试模型。
3.模型文件格式
Simulink还提供了通过命令行建立模 型和设置模型参数的方法。
Simulink将每一个模型(包括库)都 保存在一个以.mdl为后缀的文件里,称为 模型文件。
一个模型文件就是一个结构化的ASCII 文件,它包括关键字和各种参数的值。
用法进行注释; � Priority:定义该模块在模型中执行的优
先顺序; � Tag:为模块添加文本格式的标记。
(2)【Block Annotation】页 用于指定在图标下显示模块的参数、
取值及格式。
(3)【Callbacks】页 用于定义该模块发生某种指定行为时
所要执行的回调函数。 对信号进行标注以及对模型进行注
� 为子系统创建可以反映子系统功能的图标。 � 可以避免用户在无意中修改子系统中模块
的参数。
2.封装的过程
� 选择需要封装的子系统,并选择【Edit】 |【Mask Subsystem】菜单进行封装。
� 选择【Edit】|【Edit mask】菜单,这 时会弹出如下图所示的封装编辑器,通过 它进行各种设置。
第九章 Simulink 仿真
本章主要讲解: � Simulink的概念及其应用; � Simulink搭建系统模型的方法及特
点; � Simulink环境中的仿真及调试。
目录
9.1 Simulink概述 9.2 模型的创建 9.3 子系统及其封装 9.4 过 零 检 测 9.5 代 数 环
9.6 回 调 函 数 9.7 运 行 仿 真 9.8 仿真结果分析 9.9 模型的调试 9.10 S 函 数 9.11 实 例 习题
� 运行仿真并保存。
9.3.2 封装子系统
1.封装的作用 2.封装的过程 3.封装示例
封装后的子系统与Simulink提供 的模块一样拥有图标,并且用鼠标左 键双击图标时会出现一个用户自定义 的【参数设置】对话框,实现在对话 框中设置子系统中的参数。
1.封装的作用
� 子系统中各个模块的参数通过参数对话框 就可以进行设置。
Simulink; � 用鼠标左键单击MATLAB工具条上的按钮; � 在MATLAB菜单上选择【File】|【New】|
【Model】选项。
运行后会弹出如下图所示的Simulink 模块库浏览器窗口 。
使用第3种方式打开时还会弹出如下图 所示的新建模型窗口。
9.1.2 Simulink的工作环境
释,方法如下表所示。
在连线上反映信息
对注释进行处理
2.创建模型的基本步骤
利用Simulink进行系统建模和仿真的 一般步骤如下。 � 绘制系统流图; � 启动Simulink模块库浏览器,新建一个 空白模型窗口; � 将所需模块放入空白模型窗口中,按系统 流图的布局连接各模块,并封装子系统;
� 设置各模块的参数以及与仿真有关的各种 参数;
【File】菜单
2.【Edit】菜单
【Edit】菜单中各选项的名称与功能如 下表所示。
【Editwk.baidu.com菜单
3.【View】菜单
【View】菜单中部分主要选项的名称 与功能如下表所示。
【View】菜单
4.【Simulation】菜单
【Simulation】菜单如下图所示。
【Simulation】菜单各选项的功能如下 : � 【Start】:开始运行仿真; � 【Stop】:停止仿真; � 【Configuration Parameters】:设置
【Format】菜单
6.【Tools】菜单
【Tools】菜单中部分主要选项的名称 与功能如下表所示。
【Tools】菜单
7.【Help】菜单
【Help】菜单中部分主要选项的名称 与功能如下表所示。
【Help】菜单
9.1.3 Simulink的工作原理
1.图形化模型与数学模型间的关系 2.图形化模型的仿真过程
(3)按照如下图所示设置【Icon页】。 ① Icon options面板:定义图标的边框是否
仿真参数和选择解法器; � 【 Normal 】 、 【 Accelerator 】 、
【External】分别表示正常工作模式、加 速仿真和外部工作模式。
5.【Format】菜单
【Format】菜单用于设置字体、屏幕 颜色、模块名的显示、模块显示颜色、信 号和端口类型和宽度等。
该菜单部分主要选项的名称与功能如 下表所示。
9.1.6 Simulink里的模块和模块库
模块库提供各种基本模块,它按应用 领域以及功能组成若干子库,并按树状结 构进行显示。
模块是Simulink建模的基本元素。 下表详细介绍了Simulink中常用子库 中常用模块的功能 。
Commonly Used Blocks子库
Continuous子库