Error using sparse. Index exceeds matrix dimensions.
12 ビュー (過去 30 日間)
古いコメントを表示
I am trying to run this piece of code to do more operations on the graph G. However, I get the error cited in the title.
A = load('file.txt', '-ascii');
i = A(:,1);
j = A(:,2);
num = 11355;
G = sparse(i,j,1,num,num);
I am not sure if this is because sparse cannot make matrices that are in the order of magnitude of the prescribed matrix or this is a memory issue. I am relatively new to Matlab, so I am not sure what to do with it.
Thanks in advance.
0 件のコメント
回答 (1 件)
Star Strider
2017 年 1 月 8 日
I doubt if it’s a memory issue, since
G = sparse(num,num);
whos G
yields
Name Size Bytes Class Attributes
G 11355x11355 90864 double sparse
I would check to see if any elements of ‘i’ or ‘j’ are greater than ‘num’.
2 件のコメント
Star Strider
2017 年 1 月 8 日
Oh, well.
You don’t have to scan them. Just use the max function.
A zero or a non-integer would throw a different error, so those aren’t the problem.
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!