稀疏矩阵的运算
稀疏矩阵的运算如果一个矩阵是稀疏的,那么单个元素可以通过简单的赋值语句添加或删除,例如下面的语句产生一个4×4的稀疏矩阵,然后把其他的非零元素加入其中。>> a = speye(4)a = (1,1) 1 (2,2) 1 (3,3) 1 (4,4) 1>> a(2,1) = -2a = (1,1) 1 (2,1) -2 (2,2) 1 (3,3) 1 (4,4) 1MATLAB允许全矩阵与稀疏的混合运算。它们产生的结果可以是全矩阵也可以是稀疏矩阵,这取决于那种结果更高效。更重要的是,任何的适用全矩阵算法同样地也适合稀疏矩阵。表7.1 列出的是一些普通的稀疏矩阵。表7.1 普通的MATLAB稀疏矩阵函数
类别 函数 描述
创建一个稀疏矩阵 speye 创建一个单位稀疏矩阵
sprand 创建一个稀疏矩阵,元素是符合平均分布的随机数
sprandn 创建一个稀疏矩阵,元素是普通的随机数
全矩阵和稀疏矩阵的转换函数 sparse 把一个全矩阵转化为一个稀疏矩阵
full 把一个稀疏矩阵转化为全矩阵
find 找出矩阵中非零元素和它对应的上下标
对稀疏矩阵进行操作的函数 nnz 非零元素的个数
nonzeros 返回一个向量,其中的元素为矩阵中非零元素
spones 用1代替矩阵中的非零元素
spalloc 一个稀疏矩阵所占的内存空间
issparse 如果是稀疏矩阵就返回1
spfun 给矩阵中的非零元素提供函数
spy 用图象显示稀疏矩阵
页:
[1]