Mex files: how to return an already allocated matlab array
You should use mxDuplicateArray, thats the documented way: #include “mex.h” void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) { plhs[0] = mxDuplicateArray(prhs[0]); }