0

MATLABでスパーストリプレットをスパース行列に変換するために使用できるコマンドは何ですか?私はこれを試してきました:B=st_to_msm(A)、ここで、Aは「.dat」ファイルから読み取られたスパーストリプレットであり、B変数です。

しかし、それは私にとってはうまくいきません。それを修正する方法、または変換を行うための別のコマンドがあるかどうかを知りたいです。

4

2 に答える 2

0

st_to_msm のコードはhttp://people.sc.fsu.edu/~jburkardt/m_src/st_to_msm/st_to_msm.mです。

  [ nrow, ncol, nnzero ] = st_header_read ( input_file );
  [ row, col, a ] = st_data_read ( input_file, nrow, ncol, nnzero );

  base0 = 0;
  base1 = 1;
  row = st_rebase ( base0, base1, nnzero, row );
  col = st_rebase ( base0, base1, nnzero, col );
  b = sparse ( row, col, a, nrow, ncol, nnzero );

つまり、ファイルから次元と 3 つのベクトルを読み取り、それらをsparse関数の引数として使用します。私はあなたAがそれらの3つのベクトルで構成されていると思いますrow, col, a. 詳細については、ドキュメントをsparse参照してください。

于 2013-09-22T17:08:45.880 に答える
0

MATLAB には 2D 疎行列しかないため、3D アドレッシングは疎行列では機能しません。

MATLAB Central File Exchange で N 次元のスパース配列を確認することをお勧めします。

于 2012-06-19T06:33:40.530 に答える