It seems that MathWorks has listened and made both mxCreateUninitNumericMatrix
and mxCreateUninitNumericArray
documented in R2015a. They are declared in matrix.h as follows:
/*
* Create an uninitialized numeric matrix.
* The resulting array must be freed with mxDestroyArray.
*/
LIBMMWMATRIX_PUBLISHED_API_EXTERN_C mxArray *mxCreateUninitNumericMatrix(size_t m,
size_t n, mxClassID classid, mxComplexity flag);
/*
* Create an uninitialized numeric array.
* The resulting array must be freed with mxDestroyArray.
*/
LIBMMWMATRIX_PUBLISHED_API_EXTERN_C mxArray *mxCreateUninitNumericArray (size_t ndim,
size_t *dims, mxClassID classid, mxComplexity flag);
The macro LIBMMWMATRIX_PUBLISHED_API_EXTERN_C
evaluates to extern
or extern C
(for MEX files), depending on whether the including source is C or C++.
The official documentation for mxCreateUninitNumericMatrix
states:
Call mxCreateUninitNumericMatrix
to create a 2-D mxArray in which all data elements have the numeric data type specified by classid
. Data elements are not initialized.
mxCreateUninitNumericMatrix
allocates dynamic memory to store the created mxArray
. Call mxDestroyArray
to deallocate the memory.
Documentation for mxCreateUninitNumericArray
is similar.