MATLAB: Sparse Matrix Error

sparse

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!

Best Answer

  • 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.