Main Content

本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

spfun

将函数应用于非零稀疏矩阵元素

语法

f = spfun(fun,S)

说明

spfun 函数有选择地将函数仅应用于稀疏矩阵 S非零元素,并保留原始矩阵的稀疏模式(但下溢或 funS 的某些非零元素返回零时除外)。

f = spfun(fun,S)S 的非零元素计算 fun(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

因为 funS 的所有非零元素返回非零值,所以 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 具有 0

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++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

另请参阅

在 R2006a 之前推出