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