Сделайте глубокую копию массива
#include "matrix.h" mxArray *mxDuplicateArray(const mxArray *in);
#include "fintrf.h" mwPointer mxDuplicateArray(in) mwPointer in
inУказатель на mxArray вы хотите скопировать
Указатель на созданный mxArray. Если неудачный в автономном (нефайл MEX) приложение, возвращает NULL в C (0 на Фортране). Если неудачный в файле MEX, файл MEX отключает и возвращает управление в MATLAB® подсказка. Функция неудачна, когда существует недостаточно свободного пространства "кучи", чтобы создать mxArray.
mxDuplicateArray делает глубокую копию массива и возвращает указатель на копию. Глубокая копия обращается к копии, в которой копируются все уровни данных. Например, глубокая копия массива ячеек копирует каждую ячейку и содержимое каждой ячейки (если таковые имеются).
Смотрите эти примеры в :matlabroot/extern/examples/refbook
Смотрите эти примеры в :matlabroot/extern/examples/mx