unknown matlab error
Show older comments
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
on 19 Jan 2012
Andreas Goser
on 19 Jan 2012
I understand. My answer was purposly generic to be helpful for people that search for this error message.
Answers (1)
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!