Sparse Matrix Error

3 views (last 30 days)
GeoM
GeoM on 21 May 2012
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!

Accepted Answer

John D'Errico
John D'Errico on 21 May 2012
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.

More Answers (1)

GeoM
GeoM on 21 May 2012
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.

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!