out of memory error

1 次查看(过去 30 天)
joseph Frank
joseph Frank 2011-7-31
I am facing a continuous out of memory error and I am wondering if these codes can be modified to avoid it:where RG,PC,and Acr are 6000x14771 matrices. The error pops when i=4792 so I am not far from reaching i=6000:
for i=2:size(PC,1)
for j=2:size(PC,2)
RG(i,j)=((PC(i,j)-PC(i-1,j))+(Acr(i,j)-Acr(i-1,j)))./PC(i-1,j);
end
end

采纳的回答

Fangjun Jiang
Fangjun Jiang 2011-7-31
Did you pre-allocate RG? The three matrices take about 2G bytes of memory. Do you need keep PC and Acr? If not, there might be a way to vectorize to get RG without for-loop.
>> 6000*14771*3*8
ans =
2.1270e+009
  1 个评论
joseph Frank
joseph Frank 2011-7-31
pre-allocating RG solved the problem and the program finished very quickly. Thanks

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Performance and Memory 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by