MATLAB Application Program Interface Reference Help Desk



Create an unpopulated N-dimensional numeric mxArray

C Syntax



Number of dimensions. If you specify a value for ndims that is less than 2, mxCreateNumericArray automatically sets the number of dimensions to 2.


The dimensions array. Each element in the dimensions array contains the size of the array in that dimension. For example, setting dims[0] to 5 and dims[1] to 7 establishes a 5-by-7 mxArray. In most cases, there should be ndim elements in the dims array.


The way in which the numerical data is to be represented in memory. For example, specifying mxINT16_CLASS causes each piece of numerical data in the mxArray to be represented as a 16-bit signed integer. You can specify any class except for mxNUMERIC_CLASS, mxSTRUCT_CLASS, mxCELL_CLASS, or mxOBJECT_CLASS.


Specify either mxREAL or mxCOMPLEX. If the data you plan to put into the mxArray has no imaginary components, specify mxREAL. If the data will have some imaginary components, specify mxCOMPLEX.


A pointer to the created mxArray, if successful. If unsuccessful in a stand-alone (nonMEX-file) application, mxCreateNumericArray returns NULL. If unsuccessful in a MEX-file, the MEX-file terminates and control returns to the MATLAB prompt. mxCreateNumericArray is unsuccessful when there is not enough free heap space to create the mxArray.


Call mxCreateNumericArray to create an N-dimensional mxArray in which all data elements have the numeric data type specified by class. After creating the mxArray, mxCreateNumericArray initializes all its real data elements to 0. If ComplexFlag equals mxCOMPLEX, mxCreateNumericArray also initializes all its imaginary data elements to 0. mxCreateNumericArray differs from mxCreateDoubleMatrix in two important respects

mxCreateNumericArray allocates dynamic memory to store the created mxArray. When you finish with the created mxArray, call mxDestroyArray to deallocate its memory.


Call mxCreateNumericArray to create a 2-by-3-by-2 mxArray of unsigned 8-bit integers. Then, call a combination of functions to populate the mxArray:

For an additional example, see mxCreateNumericArray.c in the mx subdirectory of the examples directory.

See Also

mxCreateDoubleMatrix, mxCreateSparse, mxCreateString, mxComplexity

[ Previous | Help Desk | Next ]