out of memory error

4 次查看(过去 30 天)
oblivious
oblivious 2013-8-31
Hi,
I ran a large Monte-Carlo simulation using a loop on a script (not function). After several iterations I got a Out Of Memory error message. I saved the workspace, restarted MATLAB, loaded the saved workspace and modified the loop variable to complete remaining iterations and got the result.
How MATLAB handled this kind of scenario? Why didn't I get any error message when the simulated the remaining segments as I loaded same variables into the RAM?
I need to understand the process badly as I have several other similar simulations to run. Is there any simpler way to get rid of the problem?
  5 个评论
oblivious
oblivious 2013-9-1
Thanks Mr. Roberson. After analyzing for whole day it appears to me that it is due to fragmented memory. Is there any possible solution to this problem apart from significantly changing my algorithm (i.e. without breaking my variables into smaller pieces)?
Walter Roberson
Walter Roberson 2013-9-1
Memory fragmentation can often be considerably reduced by pre-allocation. If you currently expand any matrix (or vector) within a loop, change that to pre-allocate if you can (and otherwise switch to algorithms that allocate in chunks instead of one row at a time.)

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by