mxCreateSparse (C and Fortran)
2-D sparse array
C Syntax
#include "matrix.h" mxArray *mxCreateSparse(mwSize m, mwSize n, mwSize nzmax, mxComplexity ComplexFlag);
Fortran Syntax
#include "fintrf.h" mwPointer mxCreateSparse(m, n, nzmax, ComplexFlag) mwSize m, n, nzmax integer*4 ComplexFlag
Arguments
m
Number of rows
n
Number of columns
nzmax
Number of elements that
mxCreateSparse
should allocate to hold thepr
,ir
, and, ifComplexFlag
ismxCOMPLEX
in C (1
in Fortran),pi
arrays. Set the value ofnzmax
to be greater than or equal to the number of nonzero elements you plan to put into themxArray
, but make sure thatnzmax
is less than or equal tom*n
.nzmax
is greater than or equal to 1.ComplexFlag
If the
mxArray
you are creating is to contain imaginary data, setComplexFlag
tomxCOMPLEX
in C (1
in Fortran). Otherwise, setComplexFlag
tomxREAL
in C (0
in Fortran).
Returns
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
. In that case, try reducing nzmax
,
m
, or n
.
Description
Call mxCreateSparse
to create an unpopulated sparse
double mxArray
. The returned sparse
mxArray
contains no sparse information and
cannot be passed as an argument to any MATLAB sparse functions. To make the returned sparse
mxArray
useful, initialize the
pr
, ir
,
jc
, and (if it exists) pi
arrays.
mxCreateSparse
allocates space for:
A
pr
array of lengthnzmax
.A
pi
array of lengthnzmax
, but only ifComplexFlag
ismxCOMPLEX
in C (1
in Fortran).An
ir
array of lengthnzmax
.A
jc
array of lengthn+1
.
When you finish using the sparse mxArray
, call
mxDestroyArray
to reclaim all its heap
space.
Version History
Introduced before R2006a
See Also
mxDestroyArray
| mxSetNzmax
| mxSetIr
| mxSetJc
| mxComplexity