exponenta event banner

spfun

Применить функцию к ненулевым элементам разреженной матрицы

Синтаксис

f = spfun(fun,S)

Описание

spfun функция избирательно применяет функцию только к ненулевым элементам разреженной матрицы S, сохраняя узор разреженности исходной матрицы (за исключением неполного потока или если fun возвращает ноль для некоторых ненулевых элементов S).

f = spfun(fun,S) оценивает fun(S) по элементам S ненулевые. fun является дескриптором функции.

Параметризация функций объясняет, как предоставить дополнительные параметры функции fun, при необходимости.

Примеры

Учитывая разреженную диагональную матрицу 4 на 4

S = spdiags([1:4]',0,4,4)

S = 
   (1,1)        1
   (2,2)        2
   (3,3)        3
   (4,4)        4

Поскольку fun возвращает ненулевые значения для всех ненулевых элементов S, f = spfun(@exp,S) имеет тот же шаблон разреженности, что и S.

f =
   (1,1)       2.7183
   (2,2)       7.3891
   (3,3)      20.0855
   (4,4)      54.5982

тогда как exp(S) имеет 1s где S имеет 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

Совет

Функции, которые работают поэлементно, как в elfun каталог, являются наиболее подходящими функциями для использования с spfun.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен до R2006a