spfun

Aplica uma função aos elementos não nulos de uma matriz esparsa.

Categoria: Mathematics > Sparse Matrices

Sintaxe

F = spfun(fun, S)

Avalia fun nos elementos não nulos de S e retorna os resultados nas mesmas posições.

Descrição

Os zeros de S nunca são passados a fun. Compare exp(S), que transforma cada zero em 1 e dá uma matriz cheia, com spfun(@exp, S), que deixa os zeros como zeros e mantém o resultado esparso. Serve para funções em que f(0) não é zero mas as posições ausentes devem continuar ausentes.

Argumentos de entrada

fun
Handle de função que atua elemento a elemento sobre um vetor.
S
Matriz esparsa.

Argumentos de saída

F
Matriz esparsa de mesmo tamanho e padrão que S.

Exemplo

Aplicando exp só aos não nulos

S = sparse([0 1; 2 0]);
F = spfun(@exp, S);
full(F)
nnz(F)
nnz(exp(S))
Saída
ans = 2×2

         0    2.7183
    7.3891         0
ans = 2
ans = 4

Veja também

sparse spones nonzeros arrayfun