Maximum variable size allowed by the program is exceeded.
24 次查看(过去 30 天)
显示 更早的评论
i have this problem
how can i resolve it plz !
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1758819/image.jpeg)
3 个评论
Walter Roberson
2024-8-23,19:53
numberOfElements = 1.84467440737096e+19 which is 2^64 .
The largest single variable permitted by MATLAB is 2^48-1 bytes. This is because in all publicly released versions, the x64 architecture only implements 48 address pins, so it is physically impossible to address more than 2^48 bytes.
John D'Errico
about 7 hours 前
编辑:John D'Errico
about 7 hours 前
And even if you could address 2^64 memory elements, you will still have problems.
You should note that even boolean variables in MATLAB still take up 1 byte. One gigabyte is 1e9 bytes. If you want to address 2^64 bytes, then you will need
requiredGigaBytes = 2^64/1e9
So roughly 2e10 gigabytes of RAM. Or 2e7 terabytes. Or 2e4 petabytes. Or 20 exabytes.
Do you realize just how large that is? A comparison from the New York Times in 2003 had this approximate estimate:
'An exabyte (one million terabytes) is so large that it is estimated that 'all words ever spoken or written by all humans that have ever lived in every language since the very beginning of mankind would fit on just 5 exabytes.'
Ever spoken, OR written. And you want to store 4 times that amount.
The point is, you need to reformulate what you are doing, COMPLETELY reformulate. While there are many small problems easily solved using a brute force approach, that same problems often grow exponentially in size. That means you will not always be able to use the same scheme that worked for a small problem on a large problem.
回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!