2-D sparse array
#include "matrix.h" mxArray *mxCreateSparse(mwSize m, mwSize n, mwSize nzmax, mxComplexity ComplexFlag);
#include "fintrf.h" mwPointer mxCreateSparse(m, n, nzmax, ComplexFlag) mwSize m, n, nzmax integer*4 ComplexFlag
m
Number of rows
n
Number of columns
nzmax
Number of elements that
mxCreateSparse
should
allocate to hold the pr
,
ir
, and, if
ComplexFlag
is
mxCOMPLEX
in C
(1
in Fortran),
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
.
nzmax
is greater than or equal
to 1.
ComplexFlag
If the mxArray
you are creating is to contain
imaginary data, set ComplexFlag
to mxCOMPLEX
in C (1
in Fortran). Otherwise, set ComplexFlag
to mxREAL
in C (0
in Fortran).
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
.
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 length
nzmax
.
A pi
array of length
nzmax
, but only if
ComplexFlag
is
mxCOMPLEX
in C
(1
in Fortran).
An ir
array of length
nzmax
.
A jc
array of length
n+1
.
When you finish using the sparse mxArray
, call
mxDestroyArray
to reclaim all its heap
space.
mxComplexity
| mxDestroyArray
| mxSetIr
| mxSetJc
| mxSetNzmax