如何用牛頓迭代法求一個三元函數f(x,y,z)的一個極小值?
12-04
例如,給定下面這個公式:
顯而易見函數f的最小值出現在(1,10,100)處。問題是,如果選擇初始值x0=y0=z0=1000,即初始值在(1000,1000,1000)處時,如何用牛頓迭代法求得這個函數的最小值?謝謝:)
函數只有一個極值,在 (1,10,100) 處,也容易證明是極小值。
牛頓迭代是用來求方程的數值解的,因為求極值就是解方程,所以你要說用牛頓迭代求極值,實際上是求下面方程組的解。雖說殺雞焉用牛刀,但是牛刀殺雞確實是可以的。
另 ,。
則 Jacobi 矩陣為
迭代公式為:。
展開就是
迭代公式中不含有第 次的迭代結果。換句話說不論初始值是多少,迭代一次的結果就是最終結果。
為什麼?畢竟是牛刀,解這個方程是不是太可惜了點?
把你題目中的x,y,z換成x1,x2,x3吧。
(註:Q是『倒三角F』的Jacobi 矩陣)
用牛頓迭代公式:
說明X1是極值點,即x=1,y=10,z=100。
推薦閱讀: