eval('mex -O -largeArrayDims add.cpp -output ./add')
-I //(big i) .h file path
-l //(small l) lib path
-output // output file path
数值的传递:参考网址 http://blog.csdn.net/yimiyangguang185/article/details/52623075
自己定义一个包含mexFunction的文件
#include
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]){
// read elements from input
double rst=mxGetScalar(prhs[0])+mxGetScalar(prhs[1]);
// create output format
plhs[0]=mxCreateDoubleMatrix(1,1,mxREAL);
// set output value
double *z=mxGetPr(plhs[0]);
z[0]=rst;
}
参考网址:http://blog.csdn.net/pursh0000/article/details/51314340
x = mxGetScalar(prhs[0]);
//该函数获取matlab传递过来的数值;
plhs[0] = mxCreateDoubleMatrix(1,1,mxREAL);
//创建返回的矩阵,范围plhs[0]为mxArray类型
y = mxGetPr(plhs[0]);
//获取返回plhs[0]的数据地址,其后可以修改y的值就可以返回了
char *input_buf;
input_buf = mxArrayToString(prhs[0]);//使用mxArrayToString将mxArray转换为c、c++字符串
char *output_buf;//定义字符串缓存
size_t buflen = (mxGetM(prhs[0]) * mxGetN(prhs[0])) + 1;//获取字符串长度,mxGetM获取行数,mxGetN获取列数
output_buf=mxCalloc(buflen, sizeof(char));//使用mxCalloc分配输出字符串数组
plhs[0] = mxCreateString(output_buf);//使用mxCreateString创建mxArray输出
mxfree(output_buf);