This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

mxSetCell (C and Fortran)

Set contents of cell array

C Syntax

#include "matrix.h"
void mxSetCell(mxArray *pm, mwIndex index, mxArray *value);

Fortran Syntax

#include "fintrf.h"
subroutine mxSetCell(pm, index, value)
mwPointer pm, value
mwIndex index



Pointer to a cell mxArray


Index from the beginning of the mxArray. Specify the number of elements between the first cell of the mxArray and the cell you want to set. The easiest way to calculate index in a multidimensional cell array is to call mxCalcSingleSubscript.


Pointer to new value for the cell. You can put an mxArray of any type into a cell. You can even put another cell mxArray into a cell.


Call mxSetCell to put the designated value into a particular cell of a cell mxArray.


Inputs to a MEX-file are constant read-only mxArrays. Do not modify the inputs. Using mxSetCell* or mxSetField* functions to modify the cells or fields of a MATLAB® argument causes unpredictable results.

This function does not free any memory allocated for existing data that it displaces. To free existing memory, call mxDestroyArray on the pointer returned by mxGetCell before you call mxSetCell.


See the following examples in matlabroot/extern/examples/refbook.

See the following examples in matlabroot/extern/examples/mx.

Introduced before R2006a

Was this topic helpful?