《MATLAB基础教程》第11章simulink建模与仿真ppt课件

上传人:我*** 文档编号:148530034 上传时间:2020-10-20 格式:PPT 页数:27 大小:227KB
返回 下载 相关 举报
《MATLAB基础教程》第11章simulink建模与仿真ppt课件_第1页
第1页 / 共27页
《MATLAB基础教程》第11章simulink建模与仿真ppt课件_第2页
第2页 / 共27页
《MATLAB基础教程》第11章simulink建模与仿真ppt课件_第3页
第3页 / 共27页
《MATLAB基础教程》第11章simulink建模与仿真ppt课件_第4页
第4页 / 共27页
《MATLAB基础教程》第11章simulink建模与仿真ppt课件_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《《MATLAB基础教程》第11章simulink建模与仿真ppt课件》由会员分享,可在线阅读,更多相关《《MATLAB基础教程》第11章simulink建模与仿真ppt课件(27页珍藏版)》请在金锄头文库上搜索。

1、2020年10月20日,第1页,第11 章 Simulink的建模与仿真,MATLAB R2010a 基础教程 清华大学出版社,教学目标 教学重点 教学内容,2020年10月20日,第2页,教学目标,掌握Simulink的基本建模方法 熟悉Simulink模块库 熟悉常见Simulink模型 了解S函数的设计和调用,2020年10月20日,第3页,教学重点,掌握Simulink的基本建模方法 熟悉Simulink模块库 熟悉常见Simulink模型,2020年10月20日,第4页,教学内容,掌握Simulink的基本建模方法 掌握Simulink模块库 熟悉常见Simulink模型 S函数的设

2、计和调用 Simulink建模的工程应用,2020年10月20日,第5页,Simulink简介,Simulink的启动 Simulink模型窗口的建立 Simulink模块的操作,2020年10月20日,第6页,Simulink启动,Simulink的启动主要有以下两种方法: 在MATLAB的命令窗口中输入simulink,结果是在桌面上出现一个Simulink Library Browser的窗口,如图11-1,在这个窗口中列出了按功能分类的各种模块的名称。 单击MATLAB主窗口的快捷按钮 ,打开Simulink Library Browser窗口 。,2020年10月20日,第7页,Si

3、mulink模型窗口的建立,在Simulink中打开一个空白的模型窗口的方法: 选中Simulink菜单系统中的File | New | Model菜单项后,会生成一个Simulink窗口; 单击Simulink工具栏中的“新建模型”图标; 在MATLAB的命令窗口中选择File | New | New Model菜单项;,2020年10月20日,第8页,Simulink 模块的操作(1/2),在Simulink的空白模型窗口中,搭建Simulink的模型主要是通过用线将各种功能模块连接构成的。在Simulink中,将两个模块相接非常简单,在每个允许输出的模块口都有一个输出的符号表示离开该模块

4、,而输入端也有一个表示输入的符号表示进入该模块。假如想将一个输入模块和一个输出模块连接起来,那么只需要在前一个模块的输出口处鼠标左键单击,然后拖动鼠标至另外一个模块的输入口,松开鼠标左键,Simulink会自动将两个模块用线连接起来。,2020年10月20日,第9页,Simulink 模块的操作(2/2),模块库中的模块可以直接用鼠标进行拖拽(用鼠标左键选中模块,并按住左键不放),然后放到模型窗口中处理。在模型窗口中,选中该模块,然后四个角都有黑色标记,这时可以对该模块进行复制、删除、移动、命名、转向、设置模块属性等操作。,2020年10月20日,第10页,Simulink模块库(1/2),S

5、imulink的模块库是建立好仿真模型的基础,模块库主要包括: (1)连续模块 ; (2)非连续模块 ; (3)离散模块 ; (4)逻辑和位操作模块 ; (5)查找表模块 ; (6)数学模块 ;,2020年10月20日,第11页,Simulink模块库(2/2),(7)模型检测模块; (8)模型扩充模块; (9)端口和子系统模块; (10)信号属性模块; (11)信号线路模块; (12)接收模块; (13)输入模块; (14)用户自定义函数模块;,2020年10月20日,第12页,Simulink基本仿真建模实例(1/3),现有如下微分-代数混合方程: 初始条件为x1=20, x2=3, x3

6、=0.5,根据以上方程构造出Simulink模型,其中积分器Integrator、Integrator1、Integrator2的初始值设定分别是2、3、0.5。,2020年10月20日,第13页,Simulink基本仿真建模实例(2/3),的结构图,2020年10月20日,第14页,Simulink基本仿真建模实例(3/3),仿真模型图,仿真结果,2020年10月20日,第15页,常见Simulink模型,线性状态-变量模型 分段线性模型 传递-函数模型 非线性状态-变量模型 子系统,2020年10月20日,第16页,S函数的设计和调用,S函数的介绍 S函数的调用 S函数设计,2020年10

7、月20日,第17页,S函数的介绍,S函数就是S-Functions,是system-Functions的缩写。当MATLAB所提供的模型不能完全满足用户要求时,就可以通过S函数提供给用户自己编写程序来满足自己要求模型的接口。S函数可以用MATLAB,C,C+,Ada和Fortan.编写。C,C+,Ada,and Fortan S-Functions需要编译为Mex文件,就和其它MEX文件一样,Simulink可以随时动态的调用这些文件。 S函数使用的是一种比较特殊的调用格式,可以和Simulink求解器交互式操作,这种交互式就是与Simulink求解器和内置固有模块交互式操作相同。S-Func

8、tions功能非常全面,适用于连续、离散以及混合系统。 S函数允许用户向模型中添加自己编写的模块,只要按照一些简单的规制,就可以在S-Functions添加设计算法。在编写好S-Functions之后就可以在S-Functions莫窥阿中添加相应得函数名,也可以通过封装技术来订制自己的交互界面。,2020年10月20日,第18页,S函数的调用,在Simulink使用S-Functions的方法就是从Simulink中的User-Defined Functions模块库中向Simulink模型文件窗口中拖放S-Function模块。然后在S-Functions模块的对话框中的S-Function

9、s Name框中输入S函数的文件名,在S-Functions Parameters框中输入S函数的参数值。 在点击edit的选项后可以编辑S函数的代码部分,利用S函数实现需要的功能主要是代码部分的修改。,2020年10月20日,第19页,S函数设计(1/6),对于代码部分的修改,可以使用MATLAB语言按照S-Functions的格式来编写代码。MATLAB提供了一个模板文件,方便S-Function的编写,该模板文件位于MATLAB根目录toolbox/Simulink/blocks下,2020年10月20日,第20页,S函数设计(2/6),模板函数的代码如下: function sys,x

10、0,str,ts = sfuntmpl(t,x,u,flag) switch flag, case 0, sys,x0,str,ts=mdlInitializeSizes; case 1, sys=mdlDerivatives(t,x,u); case 2, sys=mdlUpdate(t,x,u); case 3, sys=mdlOutputs(t,x,u); case 4, sys=mdlGetTimeOfNextVarHit(t,x,u); case 9, sys=mdlTerminate(t,x,u); otherwise error(Unhandled flag = ,num2str

11、(flag); end,2020年10月20日,第21页,S函数设计(3/6),function sys,x0,str,ts=mdlInitializeSizes sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 0; sizes.NumInputs = 0; sizes.DirFeedthrough = 1; sizes.NumSampleTimes = 1; sys = simsizes(sizes); x0 = ; str = ; ts = 0 0;,functio

12、n sys=mdlDerivatives(t,x,u) sys = ; function sys=mdlUpdate(t,x,u) sys = ; function sys=mdlOutputs(t,x,u) sys = ; function sys=mdlGetTimeOfNextVarHit(t,x,u) sampleTime = 1; sys = t + sampleTime; function sys=mdlTerminate(t,x,u) sys = ;,2020年10月20日,第22页,S函数设计(4/6),M文件S-Functions可用的子函数说明如下: (1)mdlIniti

13、alizeSizes:定义S-Function模块的基本特性,包括采样时间、连续或者离散状态的初始条件和sizes数组。 (2)mdlDerivatives:计算连续状态变量的微分方程。 (3)mdlUpdate:更新离散状态、采样时间和主时间同步的要求。 (4)mdlOutputs:计算S-Function的输出。 (5)mdlGetTimeOfNextVarHit: 计算下一个采样时间点的绝对时间。 (6)mdlTerminate:结束仿真任务。,2020年10月20日,第23页,S函数设计(5/6),S-function默认的4个输入参数t、x、u和flag,他们的次序不能变动,各自代表

14、的意义是: t:表示当前仿真时刻,是采用绝对计量的时间值,是从仿真开始模型运行时间的计量值。 x:模块的状态向量,包括连续状态向量和离散状态向量。 u:模块的输入向量。 flag:执行不同操作的标记变量。,2020年10月20日,第24页,S函数设计(6/6),S-Function默认的4个返回参数为sys、x0、str和ts,他们的次序也不能改变,代表的意义为: sys:通用返回函数; x0:初始状态值,当flag的值为0时才有效; str:没有明确定义,是Math Works为将来应用所作的保留。 ts:一个m2矩阵,它的两列分别表示采样时间间隔和偏移。,2020年10月20日,第25页,工程实例:车辆悬挂的仿真(1/3),由牛顿定律而得到的系统模型是: 车辆悬挂模型的仿真框图,2020年10月20日,第26页,工程实例:车辆悬挂的仿真(2/3),车辆悬挂系统的Simulink模型,2020年10月20日,第27页,实例中Simulink模型仿真输出,工程实例:车辆悬挂的仿真(3/3),

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号