matlabsimulik设计.ppt
《matlabsimulik设计.ppt》由会员分享,可在线阅读,更多相关《matlabsimulik设计.ppt(49页珍藏版)》请在三一办公上搜索。
1、MATLAB/Simulink设计 http:/http:/,主讲:蒋志迪宁波大学信息科学与工程学院 办公室:曹光彪信息楼424 电话:665929 email:,多媒体信息处理系统设计,1 Simulink简介,Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。使用Simulink来建模、分析和仿真各种动态系统(包括连续系统、离散系统和混合系统),将是一件非常轻松的事情。它提供了一种图形化的交互环境,只需用鼠标拖动的方法便能迅速地建立起系统框图模型,甚至不需要编写一行代码。利用Simulink进行系统的建模仿真,其最大的优点是易学、易用,并能依托MATLAB提供的丰富的仿真资
2、源。,提供了仿真库的扩充和定制机制Simulink的开放式结构允许用户扩展仿真环境的功能:采用MATLAB、FORTRAN和C代码生成自定义模块库,并拥有自己的图标和界面。与MATLAB工具箱的集成由于Simulink可以直接利用MATLAB的诸多资源与功能,因而用户可以直接在 Simulink下完成诸如数据分析、过程自动化、优化参数等工作。,Simulink应用领域,2 Simulink启动及模型建立,Simulink的启动主要有以下两种方法:在MATLAB的命令窗口中输入simulink,结果是在桌面上出现一个Simulink Library Browser的窗口。单击MATLAB主窗口的
3、快捷按钮,打开Simulink Library Browser窗口。,Simulink模型窗口的建立,在Simulink中打开一个空白的模型窗口的方法:选中Simulink菜单系统中的File|New|Model菜单项后,会生成一个Simulink窗口;单击Simulink工具栏中的“新建模型”图标;在MATLAB的命令窗口中选择File|New|New Model菜单项;,启动Simulink,建立系统模型的基本操作,Simulink的模块库,Simulink的模块库能够对系统模块进行有效的管理与组织可以直接将模块库中的模块拖动或者拷贝到用户的系统模型中以构建动态系统模型。,Simulink
4、公共模块库,Simulink中最为基础、最为通用的模块库,它可以被应用到不同的专业领域中。连续模块continuous、非连续模块discontinuous离散模块discrete、查找表模块Look-up Table数学运算Math Operations模型验证模块Model Verification模型扩充工具Model-Wide Utilities端口和子系统模块Ports&Subsystems、信号属性模块Signal Attributes信号路由模块Signal Routing、接收模块Sinks输入模块Sources用户自定义函数模块User-Defined Functions,S
5、imulink的部分专业模块库,对Simulink库浏览器的基本操作有:,(1)使用鼠标左键单击系统模块库,如果模块库为多层结构,则单击“+”号载入库。(2)使用鼠标右键单击系统模块库,可在单独的窗口打开库。(3)使用鼠标左键单击系统模块,在模块描述栏中显示此模块的描述。(4)使用鼠标右键单击系统模块,可以得到:系统模块的帮助信息;将系统模块插入到系统模型中;查看系统模块的参数设置;以及回到系统模块的上一层库。,此外还可以进行以下操作:(1)使用鼠标左键选择并拖动系统模块,并将其拷贝到系统模型中。(2)在模块搜索栏中搜索所需的系统模块。,例:简单系统的输入为一个正弦波信号,输出为此正弦波信号与
6、一个常数的乘积。要求建立系统模型,并以图形方式输出系统运算结果。已知系统的数学描述为 系统输入:u(t)=sin t,t0 系统输出:y(t)=au(t),a0,相关操作:,模块库Sine Wave来自sources;Gain来自Math Operations;Scope来自Sinks连接方法(1)拖动对应端口进行连接(2)单击起始模块后,按Ctrl键再单击目标模块模块复制传统方式Ctrl+C/Ctrl+V、或Ctrl键再拖动模块模块插入 对于单输入单输出模块,只需将这个模块移到线上就可以自动连接。,连线操作,连线分支使用鼠标右键单击需要分支的信号连线(光标变成“+”),然后拖动到目标模块。使
7、用鼠标左键单击并拖动以改变信号连线的路径。按下Shift键的同时,在信号连线上单击鼠标左键并拖动,可以生成新的节点。在节点上使用鼠标左键单击并拖动,可以改变信号连线路径。,信号组合 在利用Simulink进行系统仿真时,在很多情况下,需要将系统中某些模块的输出信号(一般为标量)组合成一个向量信号,并将得到的信号作为另外一个模块的输入。,来自Signal Routing的Bus Creator,3 Simulink模型仿真,系统模块参数设置与系统仿真参数设置双击系统模块,打开系统模块的参数设置对话框。在参数设置对话框中设置合适的模块参数。设置合适的系统仿真参数以进行动态系统的仿真在Simulat
8、ion菜单的Simulation parameters.子菜单中进行设置,如仿真时间等运行仿真单击系统模型编辑器上的Play图标(黑色三角)或选择Simulation菜单下的Start便可以对系统进行仿真分析。仿真结束后双击Scope模块以显示系统仿真的输出结果,4 Simulink子系统介绍,Simulink提供的子系统功能可以大大地增强Simulink系统模型框图的可读性。子系统可以理解为一种“容器”,此容器能够将一组相关的模块封装到一个单独的模块中,并且与原来系统模块组的功能一致。,子系统建立方法(2种),在已有的系统模型中建立子系统:首先框选待封装的区域,即在模型编辑器背景中单击鼠标左
9、键并拖动,选中需要放置到子系统中的模块与信号(或在按下Shift键的同时,用鼠标左键单击所需模块);然后选择Edit菜单下的Create Subsystem,即可建立子系统。建立空的子系统:Subsystems模块库中的模块建立子系统。这样建立的子系统内容为空,然后双击子系统对其进行编辑。,子系统操作 在生成子系统之后,用户可以对子系统进行各种与系统模块相类似的操作,这时子系统相当于具有一定功能的系统模块。例如,子系统的命名、子系统视图的修改、子系统的显示颜色等等。当然子系统也有其特有的操作,如子系统的显示(用鼠标左键双击子系统模块即可打开子系统)、子系统的封装等等。,Inport输入模块与O
10、utport输出模块 在系统模型中建立子系统时,Simulink会自动生成Inport模块(Sources模块库中的In1模块)与Outport模块(Sinks模块库中的Out1模块)。Inport模块作为子系统的输入端口,Outport作为子系统的输出端口,它们被用来完成子系统和主系统之间的通讯。Inport和Outport用来对信号进行传递,不改变信号的任何属性;另外,信号标签可以越过它们进行传递。如果需要建立多输入多输出的子系统,则需要使用多个Inport模块与Outport模块,而且最好使用合适的名称对Inport模块与Outport模块进行命名。,5 Simulink与Matlab的
11、接口设计,由MATLAB工作空间变量设置系统模块参数模块参数可以是常量也可以工作空间变量直接使用MATLAB工作空间中的变量设置模块参数。使用变量的表达式设置模块参数。例如,如果a是定义在MATLAB中的变量,则表达式a、a2+5、exp(a)等均可以作为系统模块的参数,将信号输出到MATLAB工作空间中 使用示波器模块Scope的输出信号,可以使用户对输出的信号进行简单的定性分析。使用Sinks模块库中的To Workspace 模块,可以轻易地将信号输出到MATLAB工作空间中。信号输出的名称在To Workspace模块的对话框中设置,此对话框还可以设置输出数据的点数、输出的间隔,以及输
12、出数据的类型等。其中输出类型有三种形式:数组、结构以及带有时间变量的结构。仿真结束或暂停时信号被输出到工作空间中。,使用工作空间变量作为系统输入信号 Simulink与MATLAB的数据交互是相互的,除了可以将信号输出到MATLAB工作空间中之外,用户还可以使用MATLAB工作空间中的变量作为系统模型的输入信号。使用Sources模块库中的From Workspace模块可以将MATLAB工作空间中的变量作为系统模型的输入信号。此变量的格式如下所示:t=0:0.1:10;x=sin(t);input=t,x;系统输入信号input的作用相当于Sources模块中的Sine Wave模块,向量与
13、矩阵Simulink所使用的信号可以是标量也能够传递和使用向量信号。例如,向量增益可以作用在一个标量信号上,产生一个向量输出。Simulink 最重要的特性就是支持矩阵形式的信号,它可以区分行和列向量并传递矩阵。通过对模块做适当的配置,可以使模块能够接受矩阵作为模块参数。,MATLAB Function与Function模块 除了使用上述的方式进行Simulink与MATLAB之间的数据交互,用户还可以使用Functions and Tables 模块库中的 Function模块(简称为Fcn模块)或Functions and Tables 模块库中的MATLAB Function模块(简称为
14、MATLAB Fcn模块)进行彼此间的数据交互。Fcn模块一般用来实现简单的函数关系,在Fcn模块中:(1)输入总是表示成u,u可以是一个向量。(2)可以使用 C 语言表达式,例如sin(u1)+cos(u2)。(3)输出永远为一个标量。,(2)可以使用 C 语言表达式,例如sin(u1)+cos(u2)。(3)输出永远为一个标量。MATLAB Fcn一般用来调用MATLAB函数来实现一定的功能,在MATLAB Fcn模块中:(1)所要调用的函数只能有一个输出(可以是一个向量)。(2)单输入函数只需使用函数名,多输入函数输入需要引用相应的元素,如mean、sqrt、myfunc(u(1),u(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlabsimulik 设计

链接地址:https://www.31ppt.com/p-6511729.html