matlab函数c语言调用,matlab中调用c语言函数
先来看看,操作步骤:1.在matlab中新建文件代码如下:#include "mex.h"//头文件必须包含mex.hdouble mexSimpleDemo(double *y,double a,double b);//C语言算法程序声明,在最后调用时,第一//个参数是返回结果//c语言到matlab变换,以mexFunction命...
先来看看,操作步骤:
1.在matlab中新建文件
代码如下:
#include "mex.h" //头文件必须包含mex.h
double mexSimpleDemo(double *y,double a,double b); //C语言算法程序声明,在最后调用时,第一
// 个参数是返回结果
//c语言到matlab变换,以mexFunction命名
void mexFunction(int nlhs,mxArray *plhs[],int nrhs,const mxArray *prhs[])
{
double *y;
double m,n;
//获取输入变量的数值大小
m=mxGetScalar(prhs[0]);
n=mxGetScalar(prhs[1]);
//获取输出变量的指针
plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);
y=mxGetPr(plhs[0]);
//调用子函数
mexSimpleDemo(y,m,n);
}
//C语言函数
double mexSimpleDemo(double *y,double a,double b)
{
return *y=(a>b)?a:b;
}
保存为.c格式的文件
2.在matlab中输入
mex mexSimpleDemo.c
3.测试调用结果在matlab输入
a=mexSimpleDemo(5,3)
结果如下:
a=
5
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)