c语言如何实现mex函数


· 百度知道官方认证企业

腾讯电脑管家是腾讯公司推出的免费安全管理软件,能有效预防和解决计算机上常见的安全风险,并帮助用户解决各种电脑“疑难杂症”、优化系统和网络环境,是中国综合能力最强、最稳定的安全软件。

你对这个回答的评价是?

}

mex在我读大学的时候有所了解,觉得混合编程好高大上,然后玩过mex,matlab-c的混合编程

也玩过Mathematica-C的混合编程,除了自己觉得牛b外就是浪费时间了。

当时实际上还是受限于眼界

如果生活工作中不是必须的,可以不用刻意去研究,因为你的需求可能是纯用matlab就能实现,或者c的包就能实现。

我猜一下你的需求,有的时候你是觉得用matlab写了好多代码,然后不想用C或其他语言实现一下,然后要封装一下,然后用C或其他语言调用啥的。

偶尔小需求是可以这样使用的,比如我在使用Mathematica的时候也会调JLink跑个中文分词,调个Python跑个小代码,但是其实都是有替代方式的。

所以如果你是学生,可以不用太care这个东西。

}

我在个人博客   中,简单介绍了该F-16模型的主要情况、各个文件的功能等。

其中模型中的 F16_dyn.c 是最主要的调试文件,该文件由C语言完成,搭配S-Function使用,难点在于对C Mex S函数的理解和应用。在此对S函数进行一些简单的归纳分析:

首先看一下S函数的简介:

下面看一下该文件,其中有较详细的注释,程序以以下定义开头:

在定义了这两条之后,该程序包含了 simstruc.h 文件,这是一个头文件,它给出了SimStruct 数据结构的访问通道,以及MATLAB 应用程序接口(API)函数。 

接下来是各种宏定义:包括输入量、状态量、状态量导数、系数、参数、常量。

下面看一下模型运行的过程:

     下图所示为 Simulink 调用S-function 回调函数的顺序。实线框部分表示在模型初始化和/或每个仿真步长内需使用的回调函数;虚线框部分表示在初始化阶段和/或在仿真循环的一些或所有采样步长内使用的回调函数。

这里摘出几个需要特别注意的模块:

  其次是变量的定义:

}

我要回帖

更多关于 strstr函数c语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信