| Contents | Index |
A = full(S)
A = full(S) converts a sparse matrix S to full storage organization. If S is a full matrix, it is left unchanged. If A is full, issparse(A) is 0.
If X is an m-by-n matrix with nz nonzero elements then full(X) requires space to store m*n elements. On the other hand, sparse(X) requires space to store nz elements and (nz+n+1) integers.
The density of a matrix (nnz(X)/numel(X)) determines whether or not it is more efficient to store the matrix as sparse or full. The exact crossover point depends on the matrix class as well as the platform. For example, in 32-bit MATLAB, a double sparse matrix with less than about 2/3 density will require less space than the same matrix in full storage. In 64-bit MATLAB, however, double matrices with less than half of their elements nonzero are more efficient to store as sparse matrices.
Here is an example of a sparse matrix with a density of about two-thirds. sparse(S) and full(S) require about the same number of bytes of storage.
S = sparse(+(rand(200,200) < 2/3)); A = full(S); whos Name Size Bytes Class A 200X200 320000 double array S 200X200 318432 double array (sparse)
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |