matlab&simulink控制系统仿真(lk)sfunction

matlab&simulink控制系统仿真(lk)sfunction

ID:20138320

大小:1.77 MB

页数:38页

时间:2018-10-09

matlab&simulink控制系统仿真(lk)sfunction_第1页
matlab&simulink控制系统仿真(lk)sfunction_第2页
matlab&simulink控制系统仿真(lk)sfunction_第3页
matlab&simulink控制系统仿真(lk)sfunction_第4页
matlab&simulink控制系统仿真(lk)sfunction_第5页
资源描述:

《matlab&simulink控制系统仿真(lk)sfunction》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB/SIMULINK控制系统仿真航空科学与工程学院2014年4月S-函数S-函数介绍(为什么要引入S-Function?)S-函数的分类S-函数的使用(实例演习)为什么要引进S-函数?1,Simulink里自带的Block够用么?2,如何跟其他硬件有效结合?3,如果速度不够快怎么办?4,如何使用现成的开源代码?…………………什么是S-FunctionS-Function可以使用MATLAB,C,C++,Ada,或Fortran语言来编写。使用MEX实用工具,将C,C++,Ada,和Fortran语言的S-Function编译成MEX-文件,在需要的时候,它们可与其MEX

2、-文件一起动态地连接到MATLAB中。S-Function使用一种特殊的调用格式让你可以与Simulink方程求解器相互作用,这与发生在求解器和内置Simulink块之间的相互作用非常相似。S-Function的形式是非常通用的,且适用于连续、离散和混合系统。S-function为你提供了一种在Simulink模型中增加自制块的手段,你可以使用MATLAB,C,C++,Ada,或Fortran语言来创建自己的块。按照下面一套简单的规则,你可以在S-function中实现自己的算法。S-函数是系统函数(SystemFunction)的简称,是指采用非图形化的方式(即计算机语言,区别

3、于Simulink的系统模块)描述的一个功能块。S-函数具备什么特征(1/3)?Simulink是如何工作的(Simulink与Matlab的本质不同?)总结:Simulink的工作原理就是不停更新系统状态的过程,这个系统可以是连续的,可以使离散的,也可以使混合体。S-函数具备什么特征(2/3)?如何把S函数放进去?一个S函数必须包含必要的callback(子函数),做:1.1初始化(Initialization)1.2计算步长(非必须)1.3计算系统的输出1.4更新系统状态1.5与系统其他模块整合S-函数具备什么特征(3/3)?1:参数传递,S-函数如何跟系统其他Block交换

4、参数?DirectFeedthrough(S输入参数直接跟输入相关)DynamicallySizedArrays(S输入的参数可变)2:时间设置,S-函数如何与Simulations的时间配合起来?Continuoussampletime(连续系统,微小步长)Continuous,butfixedinminortimestepsampletime(连续系统,非自定义步长)Discretesampletime(自定义步长)Variablesampletime(可变步长)Inheritedsampletime(继承其他block)S-函数分类(1/2)M-fileS-函数通过func

5、tionhandles实现MEX-fileS-函数C,C++,Ada,Fortran;S-functionAPI实现优点:简单,容易上手可以调用Matlab里的工具箱缺点:比较慢不太适合硬件开发优点:速度快可以调用任何开源代码适合硬件开发缺点:对初学者比较难S-函数分类(2/2)ALevel-1M-fileS-functionmatlabroot/toolbox/simulink/blocks/sfuntmpl.mALevel-2M-fileS-functionmatlabroot/toolbox/simulink/blocks/msfuntmpl_basic.mAhand-wr

6、ittenCMEXS-function(推荐)matlabroot/simulink/src/sfuntmpl_doc.cTheS-FunctionBuilder(新手)TheLegacyCodeToolS-函数的例子:在模型中使用S-Function为了将一个S-function组合到一个Simulink模型中,首先从Simulink用户定义的函数块库中拖出一个S-Function块,然后在S-Function块对话框中的S-Functionname区域指定S-Function的名字。如下图所示:在本例中,模型包含了两个的S-function块,这两个块使用到同一个源文件(my

7、sfun,可以是一个CMEX文件,或者是一个M文件)。如果一个CMEX文件与一个M文件具有相同的名字,则CMEX文件被优先使用,即在S-function块中使用的是CMEX文件。向S-Function传递参数在S-function块的S-functionparameters区域可以指定参数值,这些值将被传递到相应的S-function中。要使用这个区域,必须了解S-function所需要的参数,及参数的顺序(如果不知道,应查询S-function的编制者、相关文件,或源代码)。输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。