【问题标题】:Getting error to import sparse matrix into MATLAB将稀疏矩阵导入 MATLAB 时出错
【发布时间】:2016-09-02 16:00:14
【问题描述】:

我有一个稀疏矩阵文件,其中包含 779641 行。我将文件命名为“file_matrix2.dat”。文件几行示例如下:

0   547 1
1   547 1
2   539 0.500000
2   540 0.500000
3   512 0.333333
3   515 0.333333

我想将这个稀疏矩阵文件导入 matlab。文件大小为 16MB。文件中包含的完整矩阵有 237017 行和相等的列数。要导入这个稀疏矩阵,我使用以下命令:

load ('C:\Users\Dhan\Desktop\file_matrix2.dat')
and
H=spconvert(file_matrix2)

然后显示错误,即:

"??? Error using ==> sparse
Index into matrix must be positive.

Error in ==> spconvert at 53
   S = sparse(D(:,1),D(:,2),D(:,3));"

请建议我解决这个问题。 提前谢谢...

【问题讨论】:

  • 它来自 c 吗? matlab 从 1 获取索引。我猜 sparse(D(:,1)+1,D(:,2)+1,D(:,3)) 会工作
  • 是的,我用 C++ 创建了这个文件..我会试试看..
  • 在每个行和列位置添加一个应该可以工作。请记住,MATLAB 从 1 开始索引。
  • 谢谢 Dohyun 先生和 rayryeng 先生。在每行和每列加 1 后,它可以完美运行..

标签: matlab matrix sparse-matrix


【解决方案1】:

为每个行和列位置添加一个应该可以。请记住,MATLAB 从 1 开始索引。

【讨论】:

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