我有一个菜鸟要求,但我将非常感谢你的帮助: 有人可以为我写一个简短的mexFunction模板,我可以添加一个cpp脚本,并让mexFunction输入和输出与cpp的功能交互吗?
mexFunction(输出数组,输入数组) {
使用C ++函数的操作 //简要说明 提取结果输出的操作 //简要说明
}
我还没有完全掌握C ++语法,而且我没有找到任何有用的教程非常有用(我做了明显的谷歌搜索:)。 我正在尝试使用matlab来评估某个C ++代码,而且我在这里很黑暗。
非常感谢您的帮助! :)
答案 0 :(得分:0)
有足够的资源可以开始使用MEX功能。然而,你想直接从这里找到一些答案/链接/代码/材料(公平的想法 - 遗憾的是你可能会得到投票)。为了回答你并开始一个好的开始::
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
MEX中仅一种数据类型:mxArray(在某些方面,这使生活更轻松,因为它减少了您需要的数据类型的数量 记住,但它确实意味着你需要小心,不要对格式做任何假设 数组的内容。)
要访问mxArray中的数据,您需要获取指向它的指针
double *a;
a = mxGetPr(phrs[0]);
要检查给定的mxArray是否包含双精度浮点数,请使用:
if (!mxIsDouble(prhs[0])) {
mexErrMsgTxt("Input should be double.\n");
}
为了给出一个想法,我试图向你解释,而不仅仅是指一些链接。希望它有所帮助。
一些参考文献: