| MATLAB Function Reference | ![]() |
Apply function to nonzero sparse matrix elements
Syntax
Description
The spfun function selectively applies a function to only the nonzero elements of a sparse matrix S, preserving the sparsity pattern of the original matrix (except for underflow or if fun returns zero for some nonzero elements of S).
f = spfun(fun,S)
evaluates fun(S) on the nonzero elements of S. You can specify fun as a function handle or as an inline object.
Remarks
Functions that operate element-by-element, like those in the elfun directory, are the most appropriate functions to use with spfun.
Examples
Given the 4-by-4 sparse diagonal matrix
Because fun returns nonzero values for all nonzero element of S, f = spfun(@exp,S) has the same sparsity pattern as S.
whereas exp(S) has 1s where S has 0s.
full(exp(S)) ans = 2.7183 1.0000 1.0000 1.0000 1.0000 7.3891 1.0000 1.0000 1.0000 1.0000 20.0855 1.0000 1.0000 1.0000 1.0000 54.5982
See Also
| speye | sph2cart | ![]() |