I am currently writing a MEX function that should work with an array of cells in MATLAB. The MEX file is written in C.
In fact, the input to my function will be an array of cells, where each record is a numerical matrix with real values. A simple example:
C = cell(1,2);
C{1} = ones(10,10);
C{2} = zeros(10,4);
I would like to have access to the numeric arrays C {1} and C {2} in my MEX file. Ideally, I would like to do this without creating a second copy of the data in my MEX file (i.e. I get pointers for them).
Using the previous example, my current approach is as follows:
mxArray C_CELL = (mxArray *) mxGetData(prhs[0])
double *myarray[2]
myarray[0] = mxGetPr(C_CELL[0])
myarray[1] = mxGetPr(C_CELL[1])
Unfortunately, this seems to lead to "misuse of undefined errors like" struct mxArray_tag ".
source
share