【发布时间】:2012-12-07 01:36:41
【问题描述】:
我尝试了 zeros(1500*64),但它显示“超出了程序允许的最大变量大小。”
但是 [C,MAXSIZE] = COMPUTER 返回 MAXSIZE = 2.1475e+009
那么为什么它不起作用呢?此外,在尝试在 Matlab 命令行上多次发出此命令后,我尝试了从零(500*64)到零(1500*64)的所有方法来找到允许的最大值,有时它返回“允许的最大变量大小程序已超出。”对于 500*64,有时会返回“内存不足”。错误。这可能是什么原因?这是内存命令返回的内容:
最大可能数组:486 MB(5.094e+008 字节)* 内存 适用于所有阵列:1436 MB(1.506e+009 字节)** 使用的内存 通过 MATLAB:353 MB(3.697e+008 字节)物理内存 (RAM):3070 MB(3.219e+009 字节)
- 受限于可用的连续虚拟地址空间。 ** 受限于可用的虚拟地址空间。
[u,s] 的输出 = 内存
[u, s] = 记忆
你 =
MaxPossibleArrayBytes: 509411328 MemAvailableAllArrays: 1.5057e+009 MemUsedMATLAB: 369819648s =
VirtualAddressSpace: [1x1 struct] SystemMemory: [1x1 struct] PhysicalMemory: [1x1 struct]
如何根据这些信息计算允许的最大大小,包括元素数量和占用的总字节数?
【问题讨论】: