Main Content

Create sparse matrix

`S = sparse(`

generates a
sparse matrix `i,j`

,`v`

)`S`

from the triplets `i`

,
`j`

, and `v`

such that
`S(i(k),j(k)) = v(k)`

. The
`max(i)`

-by-`max(j)`

output matrix has
space allotted for `length(v)`

nonzero elements.

If the inputs `i`

, `j`

, and `v`

are
vectors or matrices, they must have the same number of elements. Alternatively,
the argument `v`

and/or one of the arguments `i`

or `j`

can
be scalars.

If any of the inputs

`i,j`

or`m,n`

are larger than`2^31-1`

for 32-bit platforms, or`2^48-1`

on 64-bit platforms, then the sparse matrix cannot be constructed.

MATLAB

^{®}stores sparse matrices in compressed sparse column format. For more information, see John R. Gilbert, Cleve Moler, and Robert Schreiber's Sparse Matrices In MATLAB: Design and Implementation.The

`accumarray`

function has similar accumulation behavior to that of`sparse`

.`accumarray`

groups data into bins using*n*-dimensional subscripts, but`sparse`

groups data into bins using 2-D subscripts.`accumarray`

adds elements that have identical subscripts into the output by default, but can optionally apply any function to the bins.`sparse`

applies the`sum`

function to elements that have identical subscripts into the output (for double values) or applies the`any`

function (for logical values).

`accumarray`

| `diag`

| `find`

| `full`

| `issparse`

| `nnz`

| `nonzeros`

| `nzmax`

| `spalloc`

| `speye`

| `spones`

| `sprandn`

| `sprandsym`

| `spy`