matlab中ss函数_科学网—matlab中的sfunction的用法(C语言) - 唐小洪的博文

创建一个有1输入(2维),2输出(1维),3个参数,还有全局变量的s-function。

1.新建sfunction的C语言文件

打开simulink,点击User-Defined Functions里面的S-Function Examples。这个里面有多个语言版本的模板,有C,C++,Ada,Fortran和M语言的版本,其实都大同小异,只要了解几个函数就很容易使用了。

选择C语言的版本:从S-function模块中选择C-file S-functions里面的Basic C-MEX template。打开后,另存为自己的模块名字,如test.c。

下面我们来分析代码:

#define S_FUNCTION_NAME  test//这里把文件名sfuntmpl_basic修改为test

#define S_FUNCTION_LEVEL 2

#include "simstruc.h"

//程序里面要用到的头文件在这里引用,如“math.h”等。

float global_var; //定义全局变量

static void mdlInitializeSizes(SimStruct *S)

{

//这个函数用来设置输入、输出和参数的。

ssSetNumSFcnParams(S, 3);  /*设置参数个数,这里为3 */

if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {

return;

}

ssSetNumContStates(S, 0);//设置

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值