C++ c++;从Matlab引擎中获取双数组

C++ c++;从Matlab引擎中获取双数组,c++,matlab-engine,C++,Matlab Engine,我有C++代码,它使用MATLAB引擎调用MATLAB函数 MATLAB函数结果是3个双精度数组 如何将该数组作为双数组返回到C++ // 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 ne

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

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

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

// 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));
//例如MATLAB中的array_name=[1 2 3]
引擎*matlab;
...
mxArray*m=engGetVariable(matlab,“数组名称”);
double*ptr=(double*)mxGetData(m);//ptr是您需要的双阵列
//如果不使用OpenCV,可以跳过以下内容
垫(3,1,CV_64F);//CV_64F双
memcpy(mat.ptr(),ptr,3*sizeof(double));

double yourArray[3]=fMatlabFunction();在C++中你可以直接调用Matlab函数(包装还是其他的)?我用EngEngleScript调用MATLAB函数