Sparse Matrix Error

4 visualizzazioni (ultimi 30 giorni)
GeoM
GeoM il 21 Mag 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!

Risposta accettata

John D'Errico
John D'Errico il 21 Mag 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.

Più risposte (1)

GeoM
GeoM il 21 Mag 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.

Categorie

Scopri di più su Sparse Matrices in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by