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) имеет 1 s, где S имеет 0 s.

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