我尝试了 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: 369819648
小号 =
VirtualAddressSpace: [1x1 struct] SystemMemory: [1x1 struct] PhysicalMemory: [1x1 struct]
如何根据这些信息计算允许的最大大小,包括元素数量和占用的总字节数?