Массив от MEX-функции в заданную рабочую область
#include "mex.h" int mexPutVariable(const char *workspace, const char *varname, const mxArray *pm);
Чтобы записать MEX-функции с помощью C++ 11 функций и MATLAB Data API, см. Приложения C++ MEX.
Вызовите mexPutVariable
, чтобы скопировать mxArray
, в указателе pm
, от вашей MEX-функции в заданную рабочую область. MATLAB® присваивает varname
mxArray
, скопированному в рабочей области. Функция возвращает 0
на успехе; 1
на отказе. Возможная причина отказа состоит в том, что pm
является NULL
.
mexPutVariable
делает массив доступным для других сущностей, таких как MATLAB, пользовательские функции или другие MEX-функции.
Если переменная того же имени существует в заданной рабочей области, mexPutVariable
перезаписывает предыдущее содержимое переменной с содержимым нового mxArray
. Например, предположите, что MATLAB workspace задает переменный Peaches
как:
Peaches 1 2 3 4
и вы вызываете mexPutVariable
, чтобы скопировать Peaches
в ту же рабочую область:
mexPutVariable("base", "Peaches", pm)
Значение, переданное mexPutVariable
, заменяет старое значение Peaches
.
См. следующие примеры в matlabroot /extern/examples/mex.