在 MATLAB 中,我可以使用什么命令将稀疏三元组转换为稀疏矩阵?我一直在尝试这个:B=st_to_msm(A)
,A
我从“.dat”文件中读取的稀疏三元组在哪里,B
只是一些变量。
不过,它对我不起作用。我想知道如何修复它,或者是否有另一个命令来进行转换。
在 MATLAB 中,我可以使用什么命令将稀疏三元组转换为稀疏矩阵?我一直在尝试这个:B=st_to_msm(A)
,A
我从“.dat”文件中读取的稀疏三元组在哪里,B
只是一些变量。
不过,它对我不起作用。我想知道如何修复它,或者是否有另一个命令来进行转换。
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
获取更多详细信息。
MATLAB 只有 2D 稀疏矩阵,因此 3D 寻址不适用于稀疏矩阵。