数学建模社区-数学中国

标题: 稀疏矩阵的运算 [打印本页]

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







欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5