我尝试了零(1500 * 64),但它表示“超出了程序允许的最大变量大小”。
但[C,MAXSIZE] = COMPUTER返回MAXSIZE = 2.1475e + 009
那么为什么它不工作?此外,在尝试在Matlab命令行上发布这个命令几次后,我尝试了从零(500 * 64)到零(1500 * 64)的所有内容以找到允许的最大值,并且有时返回“允许的最大可变大小该程序已超出。“为500 * 64,有时返回“内存不足”。错误。这可能是什么原因?这就是所述存储器命令返回:Matlab中数组的最大尺寸
最大可能数组: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] =存储器
U =
MaxPossibleArrayBytes: 509411328 MemAvailableAllArrays: 1.5057e+009 MemUsedMATLAB: 369819648
S =
VirtualAddressSpace: [1x1 struct] SystemMemory: [1x1 struct] PhysicalMemory: [1x1 struct]
如何根据这些信息来计算我允许的最大大小,无论是从元素的nuber还是占用的字节总数?
这无疑是user13267所犯的错误。不是真正的问题,但那不是你的错。 +1 –
抱歉,我的错;感谢你的回答 :) – user13267