| External Interfaces/API Reference | ![]() |
Create two-dimensional unpopulated sparse mxArray
C Syntax
Arguments
n
The desired number of columns.
nzmax
The number of elements that mxCreateSparse should allocate to hold the pr, ir, and, if ComplexFlag is mxCOMPLEX, pi arrays. Set the value of nzmax to be greater than or equal to the number of nonzero elements you plan to put into the mxArray, but make sure that nzmax is less than or equal to m*n.
ComplexFlag
Set this value to mxREAL or mxCOMPLEX. If the mxArray you are creating is to contain imaginary data, then set ComplexFlag to mxCOMPLEX. Otherwise, set ComplexFlag to mxREAL.
Returns
A pointer to the created sparse mxArray if successful, and NULL otherwise. The most likely reason for failure is insufficient free heap space. If that happens, try reducing nzmax, m, or n.
Description
Call mxCreateSparse to create an unpopulated sparse mxArray. The returned sparse mxArray contains no sparse information and cannot be passed as an argument to any MATLAB sparse functions. In order to make the returned sparse mxArray useful, you must initialize the pr, ir, jc, and (if it exists) pi array.
mxCreateSparse allocates space for:
pr array of length nzmax.
pi array of length nzmax (but only if ComplexFlag is mxCOMPLEX).
ir array of length nzmax.
jc array of length n+1.
When you finish using the sparse mxArray, call mxDestroyArray to reclaim all its heap space.
Examples
See fulltosparse.c in the refbook subdirectory of the examples directory.
See Also
mxDestroyArray, mxSetNzmax, mxSetPr, mxSetPi, mxSetIr, mxSetJc, mxComplexity
| mxCreateScalarDouble | mxCreateSparseLogicalMatrix | ![]() |