【问题标题】:Armadillo - how to create Matrix from sparse format?犰狳 - 如何从稀疏格式创建矩阵?
【发布时间】:2017-01-23 22:21:04
【问题描述】:

假设我有一个稀疏矩阵。我已将其定义为以下 CSV 格式:

row,column,value 1,1,5 1,2,10

在这种情况下,点 (1,1) 等于 5,点 (1,2) 等于 10。

从这种格式(假设有数千或数十万行)创建矩阵的有效方法是什么?

换句话说,我想要在 Matlab 中运行 full(spconvert(m)) 的等价物,其中 m 是上面的矩阵。

【问题讨论】:

    标签: c++ matrix armadillo


    【解决方案1】:

    您需要使用sp_mat 稀疏矩阵类的批量插入构造函数之一。 documentation中有一个例子说明如何做到这一点:

    // batch insertion of two values at (5, 6) and (9, 9)
    umat locations;
    locations << 5 << 9 << endr
              << 6 << 9 << endr;
    
    vec values;
    values << 1.5 << 3.2 << endr;
    
    sp_mat X(locations, values);
    

    【讨论】:

      猜你喜欢
      • 2020-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-22
      • 2015-08-08
      相关资源
      最近更新 更多