2017-01-23 1 views
2

私はスパース行列を持っているとしましょう。私はそれが次のCSV形式で定義されている:この場合アルマジロ - 疎フォーマットからマトリックスを作成するには?

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

、点(1,1)は5に等しく、点(1,2)が10

に等しいです。

この形式から行列を作成する効率的な方法は何ですか(数千または数十万行を想定しています)。

つまり、私はMatlab(mは上記の行列です)でフル(spconvert(m))を実行するのと同じです。

答えて

2

sp_matスパース行列クラスのバッチ挿入コンストラクタの1つを使用する必要があります。 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); 
関連する問題