MATLAB 调用 C/C++函数的方法
已有 8052 次阅读 2010-5-5 13:42|个人分类:遥感程序开发|系统分类:科研笔记|关键词:MATLAB C C++ 调用
通过 MATLAB 将 C/C++函数编译成 MEX 函数,在 MATLAB 中就可以调用了。
1,首先装编译器
Matlab 里键入 mex-setup,选择你要编译 C++的编译器
2,写 C++函数
函数的形式必须是
voidmexFunction(intnlhs,mxArray*plhs[],intnrhs,constmxArray*prhs[])
nlhs:输出参数个数
plhs:输出参数列表
nrhs:输入参数个数
prhs:输入参数列表
,不过函数名可以随便取的。注意:保存的文件名就是将来在 MATLAB 中调用的函数名,而不是这
里的函数名。
下面给出一个例子,目的是想截取数组的部分元素组成新的数组
输入参数 3 个,目标数组,截取的行(向量),截取的列(向量)
输出参数 2 个,截取后数组,数组维数信息
在函数中展示了如何传入传出参数,以及如果从参数列表中取出每一个参数,MATLAB 数据和 C+