why i cant have a=zeros(1:200)?
4 views (last 30 days)
Show older comments
i get these message "Error using zeros Maximum variable size allowed by the program is exceeded" when i use a=zeros(1:200)
0 Comments
Answers (2)
Guillaume
on 22 Sep 2015
zeros(1:200)
means an array of 0s of size 1x2x3x4x5x...x199x200, a 200-D arrays with 200! ~= 8e374 elements. I don't think you'll find a computer with that much memory.
Not sure what you were trying to do. If you want to create a row vector with 200 zeros:
a = zeros(1, 200)
Steven Lord
on 22 Sep 2015
You almost certainly meant a = zeros(1, 200) which creates a 200 element vector containing all 0's. What you wrote tries to create a 1-by-2-by-3-by-4-by-5-by-6-by-7-by-...-194-by-195-by-196-by-197-by-198-by-199-by-200 200-dimensional array.
Even if you created that as a logical array (1 byte per element) that would require about 7e350 yottabytes of memory. Read what would be required to store one yottabyte on that Wikipedia page, and realize that even if you could store one yottabyte of data in each atom in the universe, you still wouldn't come close to the memory required to store that array.
See Also
Categories
Find more on Logical 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!