Maximum variable size allowed by the program is exceeded.
22 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
i have this problem
how can i resolve it plz !
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1758819/image.jpeg)
3 commentaires
Walter Roberson
le 23 Août 2024 à 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
il y a environ 3 heures
Modifié(e) : John D'Errico
il y a environ 3 heures
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.
Réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!