c ++ получить двойной массив из движка Matlab

я имею C++ код, который вызывает MATLAB функция с использованием движка MATLAB.

MATLAB Результатом функции является массив из 3 дублей.

Как я могу получить этот массив обратно C++ как двойной массив?

1

Решение

Ты можешь использовать:

// 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));
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]