2013-07-30 86 views
0

我現在有一個功能PushLogUtility(p,w,f),我希望優化w.r.t f(2xk)列表固定p(9xk列表)和w(2xk)名單。傳遞2D參數爲numpy.optimize.fmin錯誤

我正在使用scipy.optimize.fmin函數,但我收到錯誤,我相信因爲f是二維的。我寫了一個先前的函數LogUtility(p,q,f)傳遞一維輸入,它工作。

似乎有一個選擇是將p,wf寫入1維列表,但這樣做會很耗時且不易讀。有什麼方法可以使fmin優化2D輸入的功能?

回答

0

它似乎實際上是不可能通過一個2D列表numpy.optimize.fmin。然而,將輸入f扁平化並不是什麼大問題,雖然它使代碼稍微醜陋,但現在優化起作用。

有趣的是,我還在Matlab中編寫了優化程序,它將2D輸入傳遞給它的fminsearch函數。兩個程序都給出相同的輸出(y)。