這是一個通用算法問題,但我的主要環境是Matlab。避免用相同的參數重複調用模擬/函數
我有一個函數
出= F(ARG1,ARG2 ,, ......)
這需要很長的時間來執行,而且很昂貴來計算(即簇時間)。一個給定的參數argn可以是一個字符串,整數,向量,甚至一個函數句柄
因此,我想避免調用相同的參數值f(args)。在我的程序內部,這可能以程序員不一定可以控制的方式發生。
所以,我想爲args的每個可能的值調用f()一次,並將結果保存到磁盤。然後,每當它被下一次調用時,檢查當前是否有這些參數值的結果。如果是這樣,我會從磁盤加載它。
我目前的想法是創建一個單元格變量,每個函數調用一行。在第一列出來。在第2欄中:N是argn的值,並檢查每個單獨的等價性。
由於參數的變量類型不同,我該如何去做這件事?
有更好的算法嗎?
更普遍的是,人們如何處理將模擬結果保存到磁盤並存儲元數據? (比填鴨式的一切到一個文件名等!)
一句話,你正試圖實現記憶。 – Jommy 2014-09-18 16:07:41
謝謝。一個關鍵字幫助我的搜索巨大! – 2014-09-18 16:52:36