unknown matlab error

4 views (last 30 days)
Lars Ludwig
Lars Ludwig on 19 Jan 2012
Hi there, I deal with pretty large sparse arrays. There the following error occurred where I have no explanation for:
>> M = sparse(17e6,17e6);
>> m = M(2.82e14);
??? Maximum variable size allowed by the program is exceeded.
although "numel(M) = 2.89e14".
Can anyone please bring light into this error message?
  2 Comments
Lars Ludwig
Lars Ludwig on 19 Jan 2012
the matrix is already sparse, the crucial point is that I use linear indexing... that only allows 48 bit integers
I pinned this issue down in a second question
Andreas Goser
Andreas Goser on 19 Jan 2012
I understand. My answer was purposly generic to be helpful for people that search for this error message.

Sign in to comment.

Answers (1)

Andreas Goser
Andreas Goser on 19 Jan 2012
You are attempting to create a matrix with more elements than the maximum number of elements allowed in MATLAB.
Common causes: MATLAB will attempt to create a matrix with a large number of elements, as long as that number of elements is less than the maximum number of elements allowed in a matrix. You can determine this maximum using the COMPUTER function in the following way.
[str, maxsize] = computer
Solution: If the matrix you are attempting to create has relatively few nonzero elements, you may be able to create it as a sparse matrix. You can use the SPARSE function and the other sparse matrix manipulation functions to create and manage this matrix. Type
help sparfun
for a list of the sparse matrix manipulation functions. Note, however, that the limitation on the maximum number of elements still exists; now it only applies to the nonzero elements of the sparse matrix. If your matrix is not sparse, however, you will need to break it into sections with a number of elements less than the maximum returned by the COMPUTER function.

Categories

Find more on Sparse Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!