0

如何在方程不能數值求解時計算梯度和Hessian矩陣?牛頓在matlab中進行多元優化的方法

我的最小化公式爲:

c=c[(x/y/(1-x)^2)^0.6 + (1-(x/y)/(1-y)^2)^0.6 + 6/y^0 

我嘗試了MATLAB函數「差異」來計算梯度和麻袋。但派生要比人能處理的要長得多。如何編寫用於計算hessian或漸變的代碼?

+0

你可能在這裏有更多的運氣:http://math.stackexchange.com/ – Eli 2011-05-01 02:12:39

+0

你可以添加一個函數的圖像來最小化?謝謝。 – Royi 2017-08-05 21:33:14

回答

0

你爲什麼說公式不能用數字解決?你的意思是它不能通過分析解決嗎?在您想要優化的函數c中,似乎存在拼寫錯誤。當你提到你使用Matlab的diff()函數時,你的意思是你在網格上評估了你的函數,然後區分它嗎?或者你在說要傳遞一個函數句柄給Matlab的符號庫嗎?