Main Content

mxDuplicateArray (C and Fortran)

Make deep copy of array

C Syntax

#include "matrix.h"
mxArray *mxDuplicateArray(const mxArray *in);

Fortran Syntax

#include "fintrf.h"
mwPointer mxDuplicateArray(in)
mwPointer in



Pointer to the mxArray you want to copy


Pointer to the created mxArray. If unsuccessful in a standalone (non-MEX file) application, returns NULL in C (0 in Fortran). If unsuccessful in a MEX file, the MEX file terminates and returns control to the MATLAB® prompt. The function is unsuccessful when there is not enough free heap space to create the mxArray.


mxDuplicateArray makes a deep copy of an array, and returns a pointer to the copy. A deep copy refers to a copy in which all levels of data are copied. For example, a deep copy of a cell array copies each cell and the contents of each cell (if any).


See these examples in matlabroot/extern/examples/refbook:

See these examples in matlabroot/extern/examples/mx:

Version History

Introduced before R2006a