动态系统Simulink建模与仿真-完整版

合集下载

第五章 Simulink系统建模与仿真

第五章 Simulink系统建模与仿真
第五章 Simulink建模与仿真
本章重点
Simulink基本结构 Simulink模块 系统模型及仿真
一、Simulink简介
Simulink 是MATLAB 的工具箱之一,提供交互式动态系统
建模、仿真和分析的图形环境
可以针对控制系统、信号处理及通信系统等进行系统的建 模、仿真、分析等工作 可以处理的系统包括:线性、非线性系统;离散、连续及 混合系统;单任务、多任务离散事件系统。
从模块库中选择合适的功能子模块并移至编辑窗口中,按 设计要求设置好各模块的参数,再将这些模块连接成系统 Simulink的仿真过程就是给系统加入合适的输入信号模块 和输出检测模块,运行系统,修改参数及观察输出结果等
过程
二、Simulink的基本结构
Simulink窗口的打开
命令窗口:simulink 工具栏图标:
三、Simulink模型创建
7、信号线的标志
信号线注释:双击需要添加注释的信号线,在弹出的文本编辑 框中输入信号线的注释内容
信号线上附加说明:(1) 粗线表示向量信号:选中菜单Forma t|Wide nonscalar lines 即可以把图中传递向量信号的信号线用粗 线标出;(2)显示数据类型及信号维数:选择菜单Format|Port data types 及Format|Signaldimensions,即可在信号线上显示前 一个输出的数据类型及输入/输出信号的维数;(3) 信号线彩 色显示:选择菜单Format|Sample Time Color,SIMULINK 将用 不同颜色显示采样频率不同的模块和信号线,默认红色表示最 高采样频率,黑色表示连续信号流经的模块及线。
同一窗口内的模块复制: (1)按住鼠标右键,拖动鼠标到目标

第3章 Simulink建模与仿真

第3章  Simulink建模与仿真

将仿真数据写入 mat 文件 将仿真数据写入. mat文件 将仿真数据输出到 将仿真数据输出到 Matlab 工作空间 MATLAB 工作空间 使用 Matlab 使用MATLAB 图形显示数据 图形显示数据
图3.10 系统输出模块库及其功能
第3章 Simulink建模与仿真
模块功能说明:
模块功能说明: 有限带宽白噪声
求取输入信号的数学函数值 对输入信号进行内插运算
求取输入信号的数学函数值 对输入信号进行内插运算 输入信号的一维线性内插
输入信号的一维线性内插
输入信号的二维线性内插 输入信号的二维线性内插 输入信号的 n 维线性内插 输入信号的n维线性内插
M函数(对输入进行运算输出结果) M 函数,对输入进行运算输出结果 多项式求值
第3章 Simulink建模与仿真
模块功能说明: 模块功能说明 : 连续信号的数值微分 连续信号的数值微分 输入信号的连续时间积分 输入信号的连续时间积分 单步积分延迟,输出为前一个输入 单步积分延迟,输出为前一个输入 线性连续系统的状态空间描述 线性连续系统的状态空间描述
线性连续系统的传递函数描述 线性连续系统的传递函数描述 对输入信号进行固定时间延迟 对输入信号进行固定时间延迟 对输入信号进行可变时间延迟 对输入信号进行可变时间延迟 线性连续系统的零极点模型 线性连续系统的零极点模型
合并输入信号块控制信息 信号组合器信号组合器 信号探测器信号探测器 信号维数改变器 选择或重组信号 信号线属性修改 输入信号宽度
信号维数改变器 选择或重组信号 信号线属性修改 输入信号宽度
第3章 Simulink建模与仿真
模块功能说明: 对信号进行分配
Target模块库:主要提供各种用来进行独立可执行代码 或嵌入式代码生成,以实现高效实时仿真的模块。它 们和RTW、TLC有着密切的联系。 (6) Stateflow库:对使用状态图所表达的有限状态 机模型进行建模仿真和代码生成。有限状态机用来描 述基于事件的控制逻辑,也可用于描述响应型系统。

Simulink建模与仿真(精华版)

Simulink建模与仿真(精华版)
综上所述,Simulink就是一种开放性的,用来模拟线性或非线 性的以及连续或离散的或者两者混合的动态系统的强有力的系 统级仿真工具。
上 页 下3 页
Simulink的特点:
(1)丰富的可扩充的预定义模块库 ; (2)交互式的图形编辑器来组合和管理直观的模块图 ; (3)以设计功能的层次性来分割模型,实现对复杂设计的管理; (4)通过Model Explorer 导航、创建、配置、搜索模型中的任
Simulink 仿真基础
1 Simulink的概述 2 基本操作 3 基本模块 4 建模方法 5 系统仿真举例
1
3.1 Simulink的概述
Simulink已经成为动态系统建模和仿真领域中应用最为广泛的软件之 一。Simulink可以很方便地创建和维护一个完整的模块,评估不同的 算法和结构,并验证系统的性能。由于Simulink是采用模块组合方式 来建模,从而可以使得用户能够快速、准确地创建动态系统的计算机 仿真模型,特别是对复杂的不确定非线性系统,更为方便。
Accelerator,Rapid Accelerator)来决定以解释性的方式运行 或以编译C代码的形式来运行模型 ; (8)图形化的调试器和剖析器来检查仿真结果,诊断设计的性 能和异常行为 ; (9)可访问MATLAB从而对结果进行分析与可视化,定制建模环境, 定义信号参数和测试数据; (10)模型分析和诊断工具来保证模型的一致性,确定模型中的错误。
说明 输入信号的积分运算 输入信号的微分运算 实现线性状态空间系统模型 实现线性传递函数系统模型 实现零-极点表达式的传递函数模型 输出前一个时间步的输入值 对输入信号进行传输延时后再输出 对输入信号进行可变时间的传输延时后再输出
⑤ 决定所有无显示设定采样时间的模块的采样时间; ⑥ 分配和初始化用于存储每个模块的状态和输入当前值的存储空间。

第二讲 Simulink建模与仿真

第二讲 Simulink建模与仿真

三、模块的参数和特性设臵
Simulink中几乎所有模块 的参数(Parameter)都允许 用户进行设臵。只要双击要设 臵参数的模块就会弹出设臵对 话框,如右图所示。这是正弦 波模块的参数设臵对话框,您 可以设臵它的幅值、频率、相 位、采样时间等参数。模块参 数还可以用set-param命令修 改,这在后面将会讲到。
图1
调整模块的方向
图2
模块的阴影效果
五、模块名的处理
(1) 模块名的显示与否 选定模块,选取菜单Format下的Hide Name,模块名就会被隐藏, 同时Hide Name改为Show Name。选取Show Name就会使模块隐藏的名 字显示出来. (2) 修改模块名 用鼠标左键单击模块名的区域,这时会在此处出现编辑状态的光 标,在这种状态下能够对模块名随意修改。 模块名和模块图标中的字体也可以更改,方法是选定模块,在菜 单Format下选取Font,这时会弹出Set Font的对话框,在对话框中选 取想要的字体。 (3) 改变模块名的位臵 模块名的位臵有一定的规律,当模块的接口在左右两侧时,模块 名只能位于模块的上下两侧,缺省在下侧:当模块的接口在上下两侧 时,模块名只能位于模块的左右两侧,缺省在左侧。 因此模块名只能从原位臵移到相对的位臵。可以用鼠标拖动模块 名到其相对的位臵;也可以选定模块,用菜单Format下的Flip Name 实现相同的移动。
b) ode23:二/三阶龙格-库塔法,它在误差限要求不高和求解的问题不 太难的情况下,可能会比ode45更有效。也是一个单步解法器。
c) ode113:是一种阶数可变的解法器,它在误差容许要求严格的情况下 通常比ode45有效。ode113是一种多步解法器,也就是在计算当前时刻 输出时,它需要以前多个时刻的解。

simulink动态系统建模仿真 第 章

simulink动态系统建模仿真 第 章

第9章 使 用 子 系 统
Action子系统至多执行一次,利用Output端口模块的 Output when disabled参数,Action子系统也可以控制是否 保持输出值,这是与使能子系统类似的地方。
Action子系统与函数调用子系统类似,因为函数调用子 系统在任何给定的时间步内可以执行多于一次,而Action子 系统至多执行一次。这种限制就表示Action子系统内可以放 置非周期性的模块,而且也可以控制状态和输出的行为。
第9章 使 用 子 系 统
2.非虚拟子系统 (1) 原子子系统(Atomic Subsystem)。原子子系统与虚拟 子系统的主要区别在于,原子子系统内的模块作为一个单个 单元执行,Simulink中的任何模块都可以放在原子子系统内, 包括以不同速率执行的模块。用户可以在虚拟子系统内通过 选择Treat as atomic unit选项来创建原子子系统。
第9章 使 用 子 系 统
第9章 使用子系统
9.1 创建子系统 9.2 创建条件执行子系统 9.3 控制流语句
第9章 使 用 子 系 统
9.1 创 建 子 系 统
当用户模型的结构非常复杂时,可以通过把多个模块 组合在子系统内的方式来简化模型的外观。利用子系统创建 模型有如下优点:
减少了模型窗口中显示的模块数目,从而使模型外观结 构更清晰,增强了模型的可读性;
第9章 使 Biblioteka 子 系 统(4) 函数调用子系统(Function-Call Subsystem)。函数调 用子系统类似于用文本语言(如M语言)编写的S-函数,只不 过它是通过Simulink模块实现的。用户可以利用Stateflow图、 函数调用生成器或S-函数执行函数调用子系统。Simulink限 制放置在函数调用子系统内的模块类型,这些模块不能明确 指定采样时间,也就是说,子系统内的模块必须具有-1值的 采样时间,即继承采样时间,因为函数调用子系统的执行具 有非周期性。用户可以通过把Trigger端口模块放置在子系统 内,并将Trigger type参数设置为function-call的方式来创建 函数调用子系统。

Simulink仿真教程

Simulink仿真教程
Parameters设置仿真参数。
仿真技术
back
第15页,共63页。
9.2 模块库和系统仿真
9.2.1 Simulink模块库
1. Sources库
也可称为信号源库,该库包含了可向 仿真模型提供信号的模块。它没有输 入口,但至少有一个输出口。
双击图标 图:
即弹出该库的模块
➢ 在该图中的每一个图标都是一个信号 模块,这些模块均可拷贝到用户的模 型窗里。用户可以在模型窗里根据自 己的需要对模块的参数进行设置(但 不可在模块库里进行模块的参数设
➢ 常 用 的 子 模 块 库 有 Sources( 信 号 源 ) , Sink( 显 示 输 出 ),Continuous( 线 性 连 续 系 统 ) , Discrete ( 线 性 离 散 系 统 ) , Function & Table(函数与表格), Math(数学运算), Discontinuities (非线性),Demo(演示)等。
➢ 在MATLAB主界面中选择【File:NewModel】菜单项; ➢ 单击模块库浏览器的新建图标 ; ➢ 选中模块库浏览器的【File : New Model】菜单项。
所打开的空白模型窗口如图所示。
仿真技术
第7页,共63页。
9.1.2 建立Simulink仿真模型 a) 打开Simulink模型窗口(Untitled) b) 选取模块或模块组 在Simulink模型或模块库窗口内,用
仿真技术
第18页,共63页。
9.2.1 Simulink模块库
2. Sinks 库
该库包含了显示和写模块输出的模块。 双击 即弹出该库的模块图:

:数字表,显示指定模块的输出数
值。

Simulink动态系统建模与仿真第5章

Simulink动态系统建模与仿真第5章

第5章 Simulink仿真设置
定步长连续算法可以用来处理包含连续状态和离散状态 的模型。从理论上来说,定步长连续算法也能够处理包含非 连续状态的模型,但是,这会增加仿真计算时的不必要开销。 因此,若模型中没有状态或只有离散状态,则即使选择了定 步长连续算法,Simulink通常还会使用定步长离散算法进行 求解。
首先选择需要设置仿真参数的模型,然后在模型窗口的 Simulation菜单下选择Configuration Parameters命令,打开 Configuration Parameters对话框,如图5-1所示。
第5章 Simulink仿真设置
在Configuration Parameters对话框内用户可以根据自 己的需要进行参数设置。当然,除了设置参数值外,也可以 把参数指定为有效的MATLAB表达式,这个表达式可以由 常值、工作区变量名、MATLAB函数以及各种数学运算符 号组成。参数设置完毕后,可以单击Apply按钮应用设置, 或者单击OK按钮关闭对话框。如果需要的话,也可以保存 模型,以保存所设置的模型仿真参数。
第5章 Simulink仿真设置
定步长连续算法; 变步长连续算法; 定步长离散算法; 变步长离散算法。
第5章 Simulink仿真设置
1. 定步长连续算法 这种算法在仿真时间段(由起始时间到终止时间)内以等 间隔时间步来计算模型的连续状态。它使用数值积分算法计 算系统的连续状态,每个算法使用不同的积分方法,用户可 以根据需要选择最适合自己模型的算法,当然,这需要了解 不同积分算法之间的优缺点。使用定步长连续算法进行仿真 的仿真结果的准确度和仿真时间取决于仿真步长的大小,仿 真步长越小,结果越准确,仿真步长越大,仿真时间也就越 长。
第5章 Simulink仿真设置 5.2.1 设置仿真时间

simulink动态系统建模仿真 第9章

simulink动态系统建模仿真 第9章

第9章 使 用 子 系 统 9.1.1 Simulink子系统定义 子系统定义 1.虚拟子系统 . 虚拟子系统在模型中提供了图形化的层级显示。它简化 了模型的外观,但并不影响模型的执行,在模型执行期间, Simulink会平铺所有的虚拟子系统,也就是在执行之前就扩 展子系统。这种扩展类似于编程语言,如C或C++中的宏操 作。
第9章 使 用 子 系 统
图9-1
第9章 使 用 子 系 统
图9-2
第9章 使 用 子 系 统 用户可以在子系统窗口中添加组成子系统的模块。例如, 图9-3中的子系统包含了一个Sum模块,两个Inport模块和一 个Outport模块,这个子系统表示对两个外部输入求和,并 将结果通过Outport模块输出到子系统外的模块。此时的子 系统图标也变成图9-3中的右图所示。
第9章 使 用 子 系 统 (4) 函数调用子系统(Function-Call Subsystem)。函数调 用子系统类似于用文本语言(如M语言)编写的S-函数,只不 过它是通过Simulink模块实现的。用户可以利用Stateflow图、 函数调用生成器或S-函数执行函数调用子系统。Simulink限 制放置在函数调用子系统内的模块类型,这些模块不能明确 指定采样时间,也就是说,子系统内的模块必须具有-1值的 采样时间,即继承采样时间,因为函数调用子系统的执行具 有非周期性。用户可以通过把Trigger端口模块放置在子系统 内,并将Trigger type参数设置为function-call的方式来创建 函数调用子系统。
第9章 使 用 子 系 统
9.2 创建条件执行子系统
条件执行子系统也是一个子系统,但在模型中是否执行 条件子系统则取决于其他条件信号。这个控制子系统执行的 信号称为控制信号,控制信号在单独的控制输入端口进入子 系统。 当用户想要建立复杂的模型,而且模型中某些组件的执 行依赖于其他组件时,条件执行子系统就非常有用了。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档