黃金分割法與單峰函式求極值

2021-07-12 03:45:45 字數 642 閱讀 3199

**分割法(又稱 0.618 法)是求單峰函式極值的一種試探法,所謂單峰函式是指只有乙個峰值(區域性極小值也是全域性極小值,或者說只有唯一的區域性極小值)的函式,其嚴格定義為:

定義:設 f(

x)是定義在 [a

,b] 上的函式,若:

則稱 f(x

) 為 [a

,b] 上的單峰函式。求 y

=x2 (顯然為單峰函式)在[-1, 1]上的最小值;

def

golden_split

(f, a, b):

x1 = a + 0.332*(b-a)

x2 = a + b - x1

while abs(x1 - x2) < 1e-5:

r, g = f(x1), f(x2)

if r > g:

b = x2

x2 = x1

x1 = a + b - x2

else:

a = x1

x1 = x2

x2 = a + b - x1

return (a + b)/2

print(golden_split(lambda x: x^2), -1, 1))

網頁配色之黃金分割法

眾所周知,數學上有乙個 分割點 0.618。據說用次比例數分割是最具美感的,從美眉身材到高樓建築,從藝術到繪畫無不出其之左,因此被稱為 神奇 的 分割點。與此同時,人們也對其進行了大量的研究,研究結果更是大量的 神奇 說法。不過,我輩是現實主義者,神奇 就不談了,還是看看咋用它的 神奇 解決我的問題...

一維搜尋 黃金分割法

一 分割法的基本思想與原理 分割法適用於 a.b 區間上的任何單峰函式求極小值問題,對函式除要求 單峰 外不做其他要求,甚至可以不連續。分割法是建立在區間消去法原理基礎上的試探方法,即在搜尋區間 a,b 內適當插入兩點a1,a2,並計算其函式值。a1,a2將區間分成三段,應用函式的單峰性質,通過函式...

黃金分割法求函式最小值

測試表示式 x 2 2 x 測試區間 3 5 測試精度e 0.2 書上最小值x 1.0255 f 0.999 function result byval expression as string,byval x as string as single dim tmpstr as string tmp...