先来看看,操作步骤:
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