主要内容

spfun

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

描述

例子

F= spfun (函数年代应用函数函数到稀疏矩阵的非零元素年代.输入参数函数是接受一个输入参数的函数的句柄。

这个操作保留了原始矩阵的稀疏性年代除非函数函数的某些非零元素返回零年代

例子

全部折叠

创建一个4 × 4的稀疏对角矩阵。

S = diag(稀疏(1:4))
S = (1,1) 1 (2,2) 2 (3,3) 3 (4,4) 4

将指数函数应用于的非零元素年代.得到的矩阵具有相同的稀疏模式年代

F = spfun(@exp,S)
F = (1,1) 2.7183 (2,2) 7.3891 (3,3) 20.0855 (4,4) 54.5982

因为spfun的非零元素年代的价值F(我)是0(我)是零。这与将函数应用于的所有元素不同年代.例如,将结果与对的所有元素应用指数函数进行比较年代.的exp (S)函数返回1的元素年代这是0年代。

完整的(exp (S))
ans =4×42.7183 1.0000 1.0000 1.0000 1.0000 1.3891 1.0000 1.0000 1.0000 1.0000 20.0855 1.0000 1.0000 1.0000 1.0000 54.5982

创建一个随机的50——- - - - - -50带密度的稀疏矩阵0.02,其中矩阵有50非零元素。绘制矩阵的稀疏模式年代

rng默认的;S = sprand(50,50,0.02);间谍(S)

图包含一个轴对象。axes对象包含line类型的对象。

求二次函数的值 x 2 + x + 1 的非零元素年代.使用spfun与矩阵具有相同的稀疏模式年代

Fun = @(x) x.^2 + x + 1;F = spfun(fun,S);间谍(F)

图包含一个轴对象。axes对象包含line类型的对象。

输入参数

全部折叠

输入矩阵。这个矩阵通常(但不一定)是稀疏的。

如果年代是一个满矩阵F = spfun(func,S)应用函数函数的非零元素年代并返回F作为一个稀疏矩阵。

数据类型:|逻辑
复数支持:万博1manbetx是的

函数应用于输入数组的元素,指定为函数句柄。函数应该在年代element-wise。有关函数句柄的详细信息,请参见创建函数句柄

例子:@ (n) n + 1

提示

  • 如果函数对于为零的输入返回零,您可以使用func (S)返回与调用相同的结果spfun在稀疏矩阵上年代

扩展功能

C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。

R2006a之前引入