【问题标题】:sparse triplet to sparse matrix matlab稀疏三元组到稀疏矩阵matlab
【发布时间】:2012-06-20 22:03:08
【问题描述】:

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

不过,它对我不起作用。我想知道如何修复它,或者是否有其他命令可以进行转换。

【问题讨论】:

    标签: matlab matrix sparse-matrix


    【解决方案1】:

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

    您可能需要检查N-dimensional sparse arrays in MATLAB Central File Exchange

    【讨论】:

      【解决方案2】:

      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 的文档了解更多详情。

      【讨论】:

        猜你喜欢
        • 2022-08-18
        • 2013-04-11
        • 1970-01-01
        • 2017-07-02
        • 1970-01-01
        • 2018-01-19
        • 2017-03-26
        • 2014-05-12
        • 1970-01-01
        相关资源
        最近更新 更多