版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022年8月27日第1页第11 章 Simulink的建模与仿真MATLAB R2010a 基础教程 清华大学出版社教学目标教学重点教学内容2022年8月27日第2页教学目标掌握Simulink的基本建模方法熟悉Simulink模块库熟悉常见Simulink模型了解S函数的设计和调用2022年8月27日第3页教学重点掌握Simulink的基本建模方法熟悉Simulink模块库熟悉常见Simulink模型2022年8月27日第4页教学内容掌握Simulink的基本建模方法掌握Simulink模块库熟悉常见Simulink模型S函数的设计和调用Simulink建模的工程应用2022年8月27日第
2、5页Simulink简介Simulink的启动Simulink模型窗口的建立 Simulink模块的操作 2022年8月27日第6页Simulink启动 Simulink的启动主要有以下两种方法:在MATLAB的命令窗口中输入simulink,结果是在桌面上出现一个Simulink Library Browser的窗口,如图11-1,在这个窗口中列出了按功能分类的各种模块的名称。单击MATLAB主窗口的快捷按钮 ,打开Simulink Library Browser窗口 。2022年8月27日第7页Simulink模型窗口的建立 在Simulink中打开一个空白的模型窗口的方法:选中Simul
3、ink菜单系统中的File | New | Model菜单项后,会生成一个Simulink窗口;单击Simulink工具栏中的“新建模型”图标;在MATLAB的命令窗口中选择File | New | New Model菜单项; 2022年8月27日第8页Simulink 模块的操作(1/2) 在Simulink的空白模型窗口中,搭建Simulink的模型主要是通过用线将各种功能模块连接构成的。在Simulink中,将两个模块相接非常简单,在每个允许输出的模块口都有一个输出的符号表示离开该模块,而输入端也有一个表示输入的符号表示进入该模块。假如想将一个输入模块和一个输出模块连接起来,那么只需要在
4、前一个模块的输出口处鼠标左键单击,然后拖动鼠标至另外一个模块的输入口,松开鼠标左键,Simulink会自动将两个模块用线连接起来。 2022年8月27日第9页Simulink 模块的操作(2/2)模块库中的模块可以直接用鼠标进行拖拽(用鼠标左键选中模块,并按住左键不放),然后放到模型窗口中处理。在模型窗口中,选中该模块,然后四个角都有黑色标记,这时可以对该模块进行复制、删除、移动、命名、转向、设置模块属性等操作。2022年8月27日第10页Simulink模块库(1/2) Simulink的模块库是建立好仿真模型的基础,模块库主要包括: (1)连续模块 ; (2)非连续模块 ; (3)离散模块
5、 ; (4)逻辑和位操作模块 ; (5)查找表模块 ; (6)数学模块 ;2022年8月27日第11页Simulink模块库(2/2) (7)模型检测模块; (8)模型扩充模块; (9)端口和子系统模块; (10)信号属性模块; (11)信号线路模块; (12)接收模块; (13)输入模块; (14)用户自定义函数模块; 2022年8月27日第12页Simulink基本仿真建模实例(1/3)现有如下微分-代数混合方程:初始条件为x1=20, x2=3, x3=0.5,根据以上方程构造出Simulink模型,其中积分器Integrator、Integrator1、Integrator2的初始值设
6、定分别是2、3、0.5。2022年8月27日第13页Simulink基本仿真建模实例(2/3) 的结构图 2022年8月27日第14页Simulink基本仿真建模实例(3/3) 仿真模型图 仿真结果 2022年8月27日第15页常见Simulink模型线性状态-变量模型分段线性模型传递-函数模型非线性状态-变量模型子系统2022年8月27日第16页S函数的设计和调用S函数的介绍S函数的调用 S函数设计 2022年8月27日第17页S函数的介绍S函数就是S-Functions,是system-Functions的缩写。当MATLAB所提供的模型不能完全满足用户要求时,就可以通过S函数提供给用户自
7、己编写程序来满足自己要求模型的接口。S函数可以用MATLAB,C,C+,Ada和Fortan.编写。C,C+,Ada,and Fortan S-Functions需要编译为Mex文件,就和其它MEX文件一样,Simulink可以随时动态的调用这些文件。S函数使用的是一种比较特殊的调用格式,可以和Simulink求解器交互式操作,这种交互式就是与Simulink求解器和内置固有模块交互式操作相同。S-Functions功能非常全面,适用于连续、离散以及混合系统。S函数允许用户向模型中添加自己编写的模块,只要按照一些简单的规制,就可以在S-Functions添加设计算法。在编写好S-Functio
8、ns之后就可以在S-Functions莫窥阿中添加相应得函数名,也可以通过封装技术来订制自己的交互界面。2022年8月27日第18页S函数的调用在Simulink使用S-Functions的方法就是从Simulink中的User-Defined Functions模块库中向Simulink模型文件窗口中拖放S-Function模块。然后在S-Functions模块的对话框中的S-Functions Name框中输入S函数的文件名,在S-Functions Parameters框中输入S函数的参数值。在点击edit的选项后可以编辑S函数的代码部分,利用S函数实现需要的功能主要是代码部分的修改。2
9、022年8月27日第19页S函数设计(1/6)对于代码部分的修改,可以使用MATLAB语言按照S-Functions的格式来编写代码。MATLAB提供了一个模板文件,方便S-Function的编写,该模板文件位于MATLAB根目录toolbox/Simulink/blocks下 2022年8月27日第20页S函数设计(2/6)模板函数的代码如下:function sys,x0,str,ts = sfuntmpl(t,x,u,flag)switch flag, case 0, sys,x0,str,ts=mdlInitializeSizes; case 1, sys=mdlDerivatives
10、(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(flag);end2022年8月27日第21页S函数设计(3/6)function sys,x0,str,ts=mdlInitializeSizessizes = simsizes;sizes.NumContStates =
11、 0;sizes.NumDiscStates = 0;sizes.NumOutputs = 0;sizes.NumInputs = 0;sizes.DirFeedthrough = 1;sizes.NumSampleTimes = 1; sys = simsizes(sizes);x0 = ;str = ;ts = 0 0;function sys=mdlDerivatives(t,x,u)sys = ;function sys=mdlUpdate(t,x,u)sys = ;function sys=mdlOutputs(t,x,u)sys = ;function sys=mdlGetTime
12、OfNextVarHit(t,x,u)sampleTime = 1; sys = t + sampleTime;function sys=mdlTerminate(t,x,u)sys = ;2022年8月27日第22页S函数设计(4/6)M文件S-Functions可用的子函数说明如下: (1)mdlInitializeSizes:定义S-Function模块的基本特性,包括采样时间、连续或者离散状态的初始条件和sizes数组。 (2)mdlDerivatives:计算连续状态变量的微分方程。 (3)mdlUpdate:更新离散状态、采样时间和主时间同步的要求。 (4)mdlOutputs:计
13、算S-Function的输出。 (5)mdlGetTimeOfNextVarHit: 计算下一个采样时间点的绝对时间。 (6)mdlTerminate:结束仿真任务。2022年8月27日第23页S函数设计(5/6)S-function默认的4个输入参数t、x、u和flag,他们的次序不能变动,各自代表的意义是: t:表示当前仿真时刻,是采用绝对计量的时间值,是从仿真开始模型运行时间的计量值。 x:模块的状态向量,包括连续状态向量和离散状态向量。 u:模块的输入向量。 flag:执行不同操作的标记变量。2022年8月27日第24页S函数设计(6/6)S-Function默认的4个返回参数为sys、x0、str和ts,他们的次序也不能改变,代表的意义为: sys:通用返回函数; x0:初始状态值,当flag的值为0时才有效; str:没有明
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 线上文章创作守秘责任书6篇
- 教育行业学生学习效果评估标准手册
- 服务技术效果达成承诺函(5篇)
- 企业培训与发展方案实施
- 2025年土地租赁合同范本
- 健康饮食与生活习惯班会课件
- 供应链协同工作及审批模板
- 文明礼仪从小学:养成良好习惯小学主题班会课件
- 警惕溺水危险,守护平安夏日,小学主题班会课件
- 零售行业智能货架与无人超市解决方案
- 2026年广西真龙彩印包装有限公司笔试题及答案
- 河南资本集团笔试题库
- 2026湖北神农架林区公安局招聘辅警22人笔试备考试题及答案解析
- 2026菏泽特殊教育职业学校公开招聘人员(2人)考试模拟试题及答案解析
- 全国数据资源调查报告(2025年)
- 2026年ESG(可持续发展)考试题及答案
- 2026年防治碘缺乏病日宣传课件
- 身骑白马 SSA 三声部合唱谱
- 2026年高级社会工作师押题宝典题库及1套完整答案详解
- 20S515 钢筋混凝土及砖砌排水检查井
- 水污染控制工程 第四章 城镇雨水沟道的设计
评论
0/150
提交评论