I've been trying to create a matrix using the sparse matrix command:
M=sparse(IndR,IndC,KP,S,S,4);
Where IndR, IndC and KP are vectors of size (4*S) times 1. S is about 700,000.
I get the following error when running the command:
??? Error using ==> sparse Index exceeds matrix dimensions.
I double checked and IndR and IndC only take values in the range 1:1:S. Any clues of what might be going on? Thanks!

 採用された回答

John D'Errico
John D'Errico 2012 年 5 月 21 日

0 投票

Read the help for sparse. What is that last argument? What does it say about nzmax?
For example, compare these two test cases:
>> sparse(1:5,1:5,1,5,5)
ans =
(1,1) 1
(2,2) 1
(3,3) 1
(4,4) 1
(5,5) 1
>> sparse(1:5,1:5,1,5,5,4)
Error using sparse
Index exceeds matrix dimensions.

その他の回答 (1 件)

GeoM
GeoM 2012 年 5 月 21 日

0 投票

Thanks John. Your example guided me to find the mistake. I was thinking of nzmax as the number of non-zeros in a row. It is the number of non-zeros in the whole matrix.

カテゴリ

ヘルプ センター および File Exchange で Sparse Matrices についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by