我使用MATLAB來編程一些元啓發式。最近,我一直在研究解決工業工程問題的算法。我對MATLAB的問題是「內存不足」錯誤。現在我正在嘗試Mathworks和Stackoverflow的一些建議(希望它們能夠工作)。但是,有一件事我不明白。在MATLAB中增加內存使用情況
在MATLAB的算法運行過程中(中型問題需要4000-5000 cpu秒),即使預先分配了變量,代碼並不需要動態調整數組大小,也不會添加新變量,但我注意到算法的內存使用量不斷增長。主函數調用我寫的一些其他函數。內存使用增加的原因是什麼?
我用於算法運行的計算機有8GB內存和win8 64位安裝。
算法的空間複雜度是多少? – lanpa 2014-09-05 09:07:05
如果一切都失敗,考慮(編程)在固定數量的循環後重新啓動matlab。每次只需幾秒鐘,但它是清除內存最強大的方法。 (你可能需要在某個地方保存一個變量來記住你有多遠。) – 2014-09-08 08:48:06
你在調用任何mex文件嗎?我之前通過mex遇到了內存泄漏問題。 – nkjt 2014-09-08 10:47:59