MATLAB软件平台Simulink建模与仿真基础.ppt

上传人:小小飞 文档编号:3817422 上传时间:2019-09-25 格式:PPT 页数:48 大小:2.32MB
返回 下载 相关 举报
MATLAB软件平台Simulink建模与仿真基础.ppt_第1页
第1页 / 共48页
MATLAB软件平台Simulink建模与仿真基础.ppt_第2页
第2页 / 共48页
MATLAB软件平台Simulink建模与仿真基础.ppt_第3页
第3页 / 共48页
MATLAB软件平台Simulink建模与仿真基础.ppt_第4页
第4页 / 共48页
MATLAB软件平台Simulink建模与仿真基础.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《MATLAB软件平台Simulink建模与仿真基础.ppt》由会员分享,可在线阅读,更多相关《MATLAB软件平台Simulink建模与仿真基础.ppt(48页珍藏版)》请在三一文库上搜索。

1、第一部分 MATLAB软件平台及编程,Simulink建模与仿真基础,1.1 Simulink简介 Simulink是一个用来建模、仿真和分析动态系统的软件包。它基于MATLAB的框图设计环境,支持线性系统和非线性系统,可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的可视的图形用户接口(GUI),用户可以在这个可视窗口中通过单击和拖动鼠标操作来完成系统建模。利用这个接口,用户可以像用笔在草纸上绘制模型一样,只要构建出系统的方块图即可。这与以前的仿真软件包要

2、求解算微分方程和编写算法语言程序不同,它提供的是一种更快捷、更直接明了的方式,而且用户可以立即看到系统的仿真结果。,Simulink中包括了许多实现不同功能的模块库。在Simulink 6.6中共有16个模块库,这些模块库把各种功能不同的模块分类存放,如Sources(输入源模块库)、Sinks(输出模块库)、Math Operations(数学模块库)以及线性模块和非线性模块等各种组件模块库。用户也可以自定义和创建自己的模块。利用这些模块,用户可以创建层级式的系统模型,可以自上而下或自下而上地阅读模型,也就是说,用户可以浏览最顶层的系统,然后用鼠标双击模型中的子系统模块,打开并查看该子系统模

3、型。这不仅方便了工程人员的设计,而且可以使自己的模型方块图功能更清晰,结构更合理。,创建了系统模型后,用户可以利用Simulink菜单或在MATLAB命令窗口中键入命令的方式选择不同的积分方法来仿真系统模型。对于交互式的仿真过程,使用菜单是非常方便的,但要运行大量的仿真,使用命令行方法则更为有效。例如,执行蒙特卡洛仿真或想要扫描某一范围的参数值时,可以在命令行中输入变参数值,观察参数值改变后的系统输出。此外,利用示波器模块或其他的显示模块,用户可以在仿真运行的同时观察仿真结果,而且可以在仿真运行期间改变仿真参数,并同时观察改变后的仿真结果。最后的结果数据可以输出到MATLAB工作区进行后续处理

4、,或利用命令行命令在图形窗口中绘制仿真曲线。,Simulink中的模型分析工具包括线性化工具和调整工具,这可以从MATLAB命令行获取。MATLAB及其工具箱内还有许多其他的适用于不同工程领域的分析工具。由于MATLAB和Simulink是集成在一起的,因此无论何时用户都可以在这两个环境中仿真、分析和修改模型。 Simulink系统建模的主要特性如下: 框图式建模。Simulink提供了一个图形化的建模环境,通过鼠标单击和拖拉操作Simulink模块,用户可以在图形化的可视环境中进行框图式建模。 支持非线性系统。 支持混合系统仿真,即系统中包含连续采样时间和离散采样时间的系统。,支持多速率系统

5、仿真,即系统中存在以不同速率运行的组件。 Simulink建立的系统模型可以是层级模型,因此用户可以采用自下而上或自上而下的方式建立模型,并一层一层地查看各级模型。 用户可以根据需要建立自定义子系统,并把自定义子系统内的模块进行封装,封装后的自定义子系统具有与Simulink内嵌模块同样的属性,并可由用户设置模块的属性参数。所有的自定义子系统均可在系统模型中使用。 MATLAB与Simulink集成在一起,因此,无论何时在这两个环境中的任一环境下都可以建模、分析和仿真用户模型。,Simulink简介,Simulink是Matlab的仿真工具箱,可以用来对动态系统进行建模、仿真和分析,支持连续的

6、、离散的以及线性的和非线性的系统。具有以下特点: 用绘制方框图代替编写程序,结构和流程清晰; 智能化地建立和运行仿真,仿真精细、贴近实际; 适应面广。包括线性、非线性系统;连续、离散及混合系统;单任务、多任务离散时间系统。,Simulink文件操作,Simulink模型的文件为MDL模型文件,扩展名为.mdl,以ASCII码形式存储。 1、新建文件 新建仿真模型文件主要有以下几种方式: 在Matlab命令窗口选择“File”“New”“Model” 在命令窗口运行simulink命令,在弹出的模块库浏览器窗口中选择“File”“New”“Model” 在Simulink模型窗口中选择“File

7、”“New”“Model”,2、打开文件 打开仿真模型文件主要有以下几种方式: 在Matlab命令窗口输入不加扩展名的文件名 在Matlab命令窗口选择“File”“Open” 在Simulink模块库浏览器窗口选择“File”“Open” 在Simulink模型窗口选择“File”“Open”,Simulink模型库浏览器,模型库浏览器窗口打开方式有两种: 1、在命令窗口输入“simulink”命令 2、通过图标,Matlab simulink所用的所有模块都在模型库中,通过模型库浏览器可找到所需要的模块,然后将其拖动到模型中。,模型库浏览器窗口如下:,Simulink模型窗口,Simuli

8、nk模型窗口由菜单栏、工具栏、模型浏览器、模型框图窗口及状态栏组成。,Simulink模型创建,Simulink模型是由模块和信号线连接构成的方框图,创建模型就是绘制方框图。 1、模块操作 模块操作包括对象的选定、模块的复制、模块的移动、模块的删除、改变模块大小、模块的翻转和模块名的编辑等。,2、信号线操作 模块间连线:先将光标指向一个模块的输出端,待光标变成十字后按下鼠标左键拖动,直到另一模块的输入端。, 信号线分支:将光标指向信号线的分支点上,按住鼠标右键,光标变为十字,拖动鼠标直到分支线的终点,释放鼠标。 信号线文本注释,在信号线中插入模块,略,虚线,因为终端没有连接到模块,Simuli

9、nk基本模块,1、基本模块,Simulink模块库 包含各种功能模块,如:放大器、微分器、积分器、各种信号源等。,Simulink基本模块库主要有:,连续模块库 离散模块库 函数与表格模块库 数学模块库 信号输出模块 信号源模块库 等,简要介绍以下三个: (1)输入信号源(Sources) 信号源模块库用来为模型提供输入信号,没有输入口,至少有一个输出口,如:,LFM信号,直流信号,带限白噪声,时钟信号,(2)接收模块(Sinks) 接收端模块用来接收信号,如:,示波器,终结器,输出模块,输入不为0时终止仿真,(3)连续系统模块(continuous) 连续系统模块用来构成连续系统的环节,如:

10、,积分器,二阶积分器,微分器,定积分器,2、模块参数设置 打开参数设置对话框:双击模块或者右键选择“Block Parameters”,比如正弦信号源,可以设置幅度、频率、初相等。,3、模块属性设置 打开属性设置对话框:右键选择“Block Properties”,可以设置模块的优先级、标记、调用函数等。,系统仿真与分析,1、仿真设置 Simulink的模型实际上是定义了仿真系统的微分或差分方程组,而仿真则是用数值解算法来求解方程。 仿真设置包括对仿真的起始和结束时间、仿真步长、仿真解法、输出模式,以及是否从工作空间装载数据或保存数据到工作空间等进行设置。,仿真设置对话框如下:,起始和结束时间

11、,起始和结束时间,数据装载或保存,2、连续系统仿真 举例说明:建立二阶系统的仿真模型,传递 函数为 。 方法:输入信号源使用阶跃信号,系统使用开环传递函数 ,接收模块使用示波器来构成模型。,步骤: (1)先将需要的模块放入模型窗口,如: 在“Sources”库中选“step”模块, 在“Continuous”库中选“Transfer Fcn”模块, 在“Math Operations”库中选“Sum”模块, 在“Sinks”库选择“Scope”模块。,步骤: (2)连接各模块,从信号线引出分支点,构成闭环系统。,信号线,步骤: (3)设置模块参数:通过双击模块或弹出菜单,可打开该模块的属性对话

12、框,可设置参数。 如: Sum:“Icon shape” 设置为“rectangular”, “List of signs”设置为“|+-”。 Transfer Fcn:分母多项式“Denominator” 设置为 “1 0.6 0”。 Step:“Step time”设置为0。,设置传递函数,步骤: (4)添加信号线文本注释 双击信号线,出现编辑框,在编辑框内输入文本。,文本注释,步骤: (5)仿真并分析 仿真运行:单击工具栏的“Start simulation”按钮,开始仿真,在示波器上显示出阶跃响应。,纵坐标及标题修改: 右击示波器的坐标框,选择“Axes properties”,将y坐

13、标的“Y-min”改为0,“Y-max”改为2,“Title”改为“二阶系统时域响应”。,Y轴变化,更改标题,步骤: 在模型窗口,选择“Simulation” “Configuration parameters”,在“Solver”页将“Stop time”设置为20,然后单击“Start simulation”按钮。,时间增加到20s,3、离散系统仿真 离散系统的仿真过程与连续系统的仿真过程基本一样,只是选择的模块为离散系统模块,设置的参数也需根据离散系统设置。,子系统与封装,1、建立子系统 子系统类似于编程语言中的子函数,可以使模型模块化,可读性更强,更容易调试和维护。建立子系统有两种方法

14、: 在模型中新建子系统 在已有的子系统基础上建立,Simulink子系统,子系统创建与封装 在建立的Simulink系统模型比较大或很复杂时,可将一些模块组合成子系统,这样可使 模型得到简化,便于连线; 可提高效率,便于调试; 可生成层次化的模型图表,用户可采取自上而下或自下而上的设计方法。 将一个创建好的子系统进行封装,也就是使子系统象一个模块一样,例如可以有自己的参数设置对话框,自己的模块图标等。这样就使子系统使用起来非常方便。,子系统与封装,(1)在模型中新建子系统 步骤: A、打开或者新建一个模型,建立各模块并连接。 B、用鼠标拖出一个虚线框将需要建立子系统的部分框起来,在菜单中选择“

15、Edit”“Create subsystem”,这时原虚线框中的部分被一个模块代替。 C、重命名子系统及输入、输出端口。,子系统与封装,(1)在模型中新建子系统 例如:,原系统,创建子系统后,修改子系统名及输入输出名后,子系统与封装,(2)在已有的子系统基础上建立 步骤: A、将已有的子系统复制到新窗口。 B、双击打开子系统模型窗口,重新放置模块,建立连接和输入输出端口。 C、将子系统与其他模块连接。 D、修改子系统名和其他参数。,子系统与封装,(2)在已有的子系统基础上建立 例如: 将前面建立的SubSys_1子系统复制到新窗口建立的子系统如下图所示:,输出端口,增加的新模块,输入端口,子系

16、统与封装,2、条件执行子系统 系统中的某些模块需要在满足一定条件时才执行,使用条件执行子系统就可以使子系统的执行由控制信号的值来控制。 条件执行子系统有3种: 使能子系统 触发子系统 使能触发子系统,子系统与封装,(1)使能子系统 当控制信号从负数向正数变化大于0时执行,而当控制信号变为负数时停止执行。 控制信号可以是标量也可以是向量,如果是向量,只要向量中任何一个元素大于0时,子系统都执行。,子系统与封装,(2)触发子系统 当触发事件发生时开始执行。 触发事件包括: 上升沿 下降沿 上升沿和下降沿 函数内部逻辑,子系统与封装,(3)使能触发子系统 由控制信号和触发事件同时决定子系统的执行。

17、当触发事件发生后,Simulink检查使能信号是否大于0,大于0就开始执行。,子系统与封装,3、子系统的封装 子系统在设置时需要打开其中的每个模块分别设置参数,而没有基于整体的独立操作界面,使子系统的应用受到限制。因此,采用封装可以为具有一个模块以上的子系统定制对话框和图标,使其具有良好的用户界面。,子系统与封装,3、子系统的封装 封装子系统的步骤: (1)选中子系统双击打开,给需要进行赋值的参数指定一个变量名; (2)选择菜单”Edit”Mask subsystem”,出现封装对话框; (3)在封装对话框中设置参数,包括Icon, Parameters, Initialization和Doc

18、mentation。,用Matlab命令创建和运行Simulink模型,1、创建模型 创建新模型:new_system 打开模型:open_system 保存模型:save_system 添加模块:add_block 添加信号线:add_line 模型属性的获得:simget 设置模型属性:set_param 设置模块和信号线属性:set_param 删除模块:delete_block 删除信号线:delete_line,如: new_system(mymodel,Model); % 创建一个名为mymodel的新模型 open_system(mymodel); % 打开名为mymodel的模型,并显示在模型窗口,用Matlab命令创建和运行Simulink模型,2、运行模型 sim命令,

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

当前位置:首页 > 高中教育


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