simulink调用自定义函数S-Function
2018-01-28 22:38
176 查看
1,在simulink中使用s-function模块,打开模块后进行编辑,s-function是一个在matlab中有模版的m文件,需要自己在其中的一些部分进行修改,s-fun有几个需要初始化的参数,分别是
NumContStates=;
连续状态的数量,如果在simulink中,你的这个模块的上一级给出了一个连续的变量,比方说正弦函数的输出值,那么这里就可以让该参数等于1;
sizes.NumDiscStates=;离散状态的数量,和上边一个参数的定义一样,只不过是离散的
sizes.NumOutputs=;
输出的个数,代表你这个模块将要输出几个结果,比方输入一个阶跃函
数,你想要看到阶跃函数本身和你设计的模块后的响应结果,这里就可以将他设为
2
;
sizes.DirFeedthtough=;
直接馈通的标志,这个用不到,直接写
0
;
sizes.NumSampleTimes=;
采样时间的数量,一般为
1
;
还有几个参数,
str
,
ts
和
x0
,
这三个参数,
str
是人家
公司自己设计留着将来用的,咱用的时候让
str=[]
,就可以了;
ts
是一个两列的矩阵,如果你想让
s-function
在每个时间步都运行,让他为
[0,0]
就可以,如
果你希望让他在仿真开始后的
1
秒每
0.5
秒运行,就可以把它设为
[0.5 1];
这样
mdlInitializeSizes
函数的基本设置就完成了,然后就是修改你要让
s-fun
模块完成的功
能了,如果你要完成连续的状态的微分,就再
case1
中把函数写清楚,如果是离散状态的微
分,
就在
case2
中完成,
如果你很简单的单纯计算输出,
在
case3
中把函数写清楚就行了,
sys
就是这个模块的输出;
2
,
当你的
s-fun
模块都完成编辑了,
在
simulink
中双击打开,
然后在
s-function name
中输入
刚刚写好的文件的名字,如果没有额外的参数,即没有除了
t,x,u,flag,
外的参数,那么在这
个对话框中的
s-function
parameters
中就不要写东西了,到这个时候,基本上所有的工作就
完成了,点击
ok
3
,运行
simulink
,观察结果
NumContStates=;
连续状态的数量,如果在simulink中,你的这个模块的上一级给出了一个连续的变量,比方说正弦函数的输出值,那么这里就可以让该参数等于1;
sizes.NumDiscStates=;离散状态的数量,和上边一个参数的定义一样,只不过是离散的
sizes.NumOutputs=;
输出的个数,代表你这个模块将要输出几个结果,比方输入一个阶跃函
数,你想要看到阶跃函数本身和你设计的模块后的响应结果,这里就可以将他设为
2
;
sizes.DirFeedthtough=;
直接馈通的标志,这个用不到,直接写
0
;
sizes.NumSampleTimes=;
采样时间的数量,一般为
1
;
还有几个参数,
str
,
ts
和
x0
,
这三个参数,
str
是人家
公司自己设计留着将来用的,咱用的时候让
str=[]
,就可以了;
ts
是一个两列的矩阵,如果你想让
s-function
在每个时间步都运行,让他为
[0,0]
就可以,如
果你希望让他在仿真开始后的
1
秒每
0.5
秒运行,就可以把它设为
[0.5 1];
这样
mdlInitializeSizes
函数的基本设置就完成了,然后就是修改你要让
s-fun
模块完成的功
能了,如果你要完成连续的状态的微分,就再
case1
中把函数写清楚,如果是离散状态的微
分,
就在
case2
中完成,
如果你很简单的单纯计算输出,
在
case3
中把函数写清楚就行了,
sys
就是这个模块的输出;
2
,
当你的
s-fun
模块都完成编辑了,
在
simulink
中双击打开,
然后在
s-function name
中输入
刚刚写好的文件的名字,如果没有额外的参数,即没有除了
t,x,u,flag,
外的参数,那么在这
个对话框中的
s-function
parameters
中就不要写东西了,到这个时候,基本上所有的工作就
完成了,点击
ok
3
,运行
simulink
,观察结果
相关文章推荐
- simulink调用自定义函数S-Function
- simulink 自定义函数S-function的字符串传递方法
- Smarty中自定义函数与调用方法
- VC++6.0环境下,使用传引用方式调用自定义的swap函数来达到两数交换的目的
- 调用另一个类中的函数 自定义消息和SendMessage
- SIMULINK6 S-Function 编程(M,C/C++语言)与模块封装技术(1)Simulink S函数概观
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- $(function (){}) 里写的函数 在外部不能调用!?
- Asp.Net 如何调用js中的函数function ?
- jquery如何调用自定义函数
- sql 调用自定义函数方法
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- 在c语言中自定义了一个函数,在main中调用时提示找不到标识符
- C++程序设计实验报告(二十七)---第二周任务一(自定义函数用递归思想,即不断调用,反向输出二进制)
- PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
- 函数的调用机制_用递归实现栈(Function call machenism_Recursive calls stimulate stack)
- Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- SIMULINK6 S-Function 编程(M,C/C++语言)与模块封装技术(1)Simulink S函数概观
- jquery,定义函数,调用函数function,函数function之间参数传递