2017-08-26 199 views
0

我必須在MATLAB中集成8個變量的ODE。我的模擬時間是5e9,時間步長爲0.1。但它顯示內存錯誤。我正在使用i7內核,具有8GB RAM的2.6Ghz CPU。我如何模擬大時間樣本的ODE?Matlab解決ODE時出現內存不足錯誤

+0

我知道這不是最準確的方法,但是如何在一段時間後重新開始模擬? – Jommy

+0

它是否具有生成和存儲需要8·8·5e10字節= 3.2e12字節= 3.2太字節的5e10狀態向量的特定目的?您是否準備將此內容寫入磁盤,因爲您似乎不太可能將其保存在內存中? – LutzL

回答

0

假設你正在研究64位版本的MATLAB,你可能想讓MATLAB使用Preferences -> MATLAB -> Workspace -> MATLAB Array Size Limit將內存擠壓到邊緣。

如果您收到此埃羅因爲你真的mximized在系統內存執行以下操作:

  1. 確保您使用的是64位操作系統和MATLAB的64位版本。
  2. 在您調用ODE函數之前,手動清除(使用clear()函數)您不再需要的變量(或者可以在函數完成時重新創建)。
  3. 增加系統的交換文件。這將有助於消耗更大的內存,但可能會讓事情變得更慢。

您可以在Resolve "Out of Memory" Errorsmemory()中找到更多的提示和技巧。

相關問題