**分割法(又稱 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...