当我在MATLAB中运行示例脚本时,它说:
内存不足.键入HELP MEMORY以获取选项.
当我输入"记忆"时,它会报告:
Maximum possible array: 156 MB (1.638e+008 bytes) *
Memory available for all arrays: 740 MB (7.756e+008 bytes) **
Memory used by MATLAB: 1054 MB (1.105e+009 bytes)
Physical Memory (RAM): 3070 MB (3.219e+009 bytes)
* Limited by contiguous virtual address space available.
** Limited by virtual address space available.
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个错误?我正在使用Windows XP x32和MATLAB 2009a.
问题已解决.
在Windows XP x32下,我通过编辑boot.ini来添加交换机/ 3GB/USERVA = 3030,几乎使MATLAB可用的内存量增加了一倍
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3GB /USERVA=3030
Run Code Online (Sandbox Code Playgroud)
与减少我们的阵列大小一起,这完全解决了问题:)
我也可以通过升级到Windows x64或Windows 7 x64来解决问题.即使你坚持使用MATLAB x32并且不升级到MATLAB x64,这个行为也会使MATLAB可用的内存量翻倍.Windows x64的内存效率更高,即使系统只安装了4 GB的物理RAM.