我嘗試了零(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