稀疏三元组到稀疏矩阵matlab

时间:2012-06-18 21:19:19

标签: matlab matrix sparse-matrix

在MATLAB中,我可以使用什么命令将稀疏三元组转换为稀疏矩阵?我一直在尝试这个:B=st_to_msm(A),其中A是从“.dat”文件中读取的稀疏三元组,而B只是一些变量。

但是,这对我不起作用。我想知道如何修复它,或者是否有另一个命令来进行转换。

2 个答案:

答案 0 :(得分:0)

MATLAB只有2D稀疏矩阵,因此3D寻址不适用于稀疏矩阵。

您可以查看N-dimensional sparse arrays in MATLAB Central File Exchange

答案 1 :(得分: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个向量组成,rowcola。有关详细信息,请查看sparse的文档。