Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

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

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 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).

Returns

Pointer to the created mxArray, if successful. 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 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.

Examples

See the following examples in matlabroot/extern/examples/refbook.

Introduced before R2006a

Was this topic helpful?