使用Mathematica 7和8,我們發現Mathematica未能正確保存並獲取擬合例程的結果。我希望這裏有人知道:這個bug的最佳實踐解決方法是什麼?保存FittedModel是buggy
我們的任務是我們正在使用NonlinearModelFit來適應大量數據集,這將爲每個數據集返回一個FittedModel。這些適合需要一段時間,我們嘗試使用Save和DumpSave將結果記憶到文件中。後續分析使用Get將FittedModel拉回。
Mathematica執行保存&獲取沒有警告,但返回的FittedModel是越野車。我們調用Get並從磁盤加載FittedModel,調用結果「foo」。 Trying foo [10]用輸入10評估擬合模型。我們看到的錯誤是,foo [「BestFitParameters」]應該返回一個列表作爲規則,而是將該字符串插入函數中,因爲它是一個像10這樣的數字。嘗試foo [{「BestFitParameters」,「BestFitParameters」}]應該在列表中給出兩次規則,但是對於buggy foo而言,這些規則不會被評估。
有在此之上一個奇怪的和誤導性的行爲,這取決於我們是否刪除/清除FOO或退出內核:磁盤
- 計算FittedModel爲Foo
- 保存或DumpSave FOO
- 刪除和/或清除FOO從磁盤
- 獲取富
- 富工作正常
但是,如果我們重新啓動內核失敗
- 計算FittedModel爲Foo
- 保存或DumpSave富磁盤
- 殺死並重新啓動內核
- 從磁盤獲取富
- foo是越野車
有沒有人見過這種行爲?
這個bug背後有一個很好的解釋嗎?
有沒有很好的解決方法?
您可以添加短代碼樣本嗎? –