c ++从Matlab引擎获取双数组

时间:2014-03-07 12:47:48

标签: c++ matlab-engine

我有C++代码,使用MATLAB引擎调用MATLAB函数。

MATLAB函数结果是3个双精度数组。

如何将该数组作为双数组返回C++

1 个答案:

答案 0 :(得分:3)

您可以使用:

// e.g. array_name=[1 2 3] in MATLAB
Engine * matlab;
...
mxArray * m = engGetVariable(matlab, "array_name");
double * ptr = (double *) mxGetData(m); // ptr is the double array you need

// you can skip the following if you don't use OpenCV 
Mat mat(3, 1, CV_64F); // CV_64F <=> double
memcpy(mat.ptr(), ptr, 3*sizeof(double));