why i cant have a=zeros(1:200)?
4 次查看(过去 30 天)
显示 更早的评论
i get these message "Error using zeros Maximum variable size allowed by the program is exceeded" when i use a=zeros(1:200)
0 个评论
回答(2 个)
Guillaume
2015-9-22
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
2015-9-22
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!