How can I create a Cell Array in a MEX function which can be returned to the MATLAB workspace?
1 view (last 30 days)
Show older comments
MathWorks Support Team
on 17 Oct 2017
Answered: MathWorks Support Team
on 20 Oct 2017
I would like to create a cell array in a MEX file which contains two character arrays as members of the cell array. I would also like to return this cell array to the base MATLAB workspace. How can this be done?
Accepted Answer
MathWorks Support Team
on 17 Oct 2017
https://www.mathworks.com/help/matlab/apiref/mxcreatecellmatrix.html
Note that once the mxArray corresponding to your cell array has been created, you would may need to set cell array fields using the 'mxSetCell' function:
https://www.mathworks.com/help/matlab/apiref/mxsetcell.html
An example of this workflow is provided with MATLAB. Please execute the following command on the MATLAB Command Window:
>> edit([matlabroot '/extern/examples/mx/mxcreatecellmatrix.c']);
There is another example of this workflow with this article as "cellTest.c". This file creates a cell array with "Hello" and "Goodbye" character arrays as members of the cell array.
If you would like to return a cell array created in a MEX file to the MATLAB workspace, the recommended method is to add the new 'mxArray' to the 'plhs' array within the 'mexFunction' in the MEX file. However, if this is not sufficient for your workflow, you can also use the 'mexPutVariable' function to manually send specified variables back to the base MATLAB workspace.
https://www.mathworks.com/help/matlab/apiref/mexputvariable.html
0 Comments
More Answers (0)
See Also
Categories
Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!