今天我需要在Matlab中分配一个大小为100000的向量.我尝试简单地使用:
a=ones(100000);
Run Code Online (Sandbox Code Playgroud)
我的Matlab愤怒地回答:
Out of memory. Type HELP MEMORY for your options.
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为我在具有8 GB RAM的64位机器上运行了Matlab 64位.我在SO或其他地方尝试了很多"在Matlab中解决内存错误"的配方,但到目前为止还没有运气.
现在我更困惑的是:
a=ones(10000,10000);
Run Code Online (Sandbox Code Playgroud)
在我的机器上运行没有问题.
这是否意味着Matlab有一些机制来限制一维空间中矢量的元素数量?
今天我需要在Matlab中分配一个大小为100000的向量.
现在,如评论中所述,您尝试的方法(a=ones(100000);)创建了一个100000x100000矩阵,这不是您想要的.
我建议你试试:
a = ones(1, 100000);
Run Code Online (Sandbox Code Playgroud)
因为这会创建一个向量而不是一个矩阵.