森之张卫东 发表于 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) = -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]
查看完整版本: 稀疏矩阵的运算