當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python SciPy optimize.golden用法及代碼示例


本文簡要介紹 python 語言中 scipy.optimize.golden 的用法。

用法:

scipy.optimize.golden(func, args=(), brack=None, tol=1.4901161193847656e-08, full_output=0, maxiter=5000)#

使用黃金分割法返回一個變量的函數的最小值。

給定一個由一個變量組成的函數和一個可能的括號區間,返回該函數的最小化值,該函數的小數精度為 tol。

參數

func 可調用函數(x,*args)

最小化的目標函數。

args 元組,可選

附加參數(如果存在),傳遞給 func。

brack 元組,可選

三元組 (xa, xb, xc) 其中 xa < xb < xcfunc(xb) < func(xa) and  func(xb) < func(xc) ,或一對 (xa, xb) 用作下坡括號搜索的初始點(請參閱 scipy.optimize.bracket )。最小化器 x 不一定滿足 xa <= x <= xb

tol 浮點數,可選

x 公差停止標準

full_output 布爾型,可選

如果為真,則返回可選輸出。

maxiter int

要執行的最大迭代次數。

返回

xmin ndarray

最佳點。

fval 浮點數

(可選輸出)最優函數值。

funcalls int

(可選輸出)進行的目標函數評估次數。

注意

使用二等分法的模擬來減少括號內的間隔。

例子

我們說明函數的行為布拉克大小分別為 2 和 3。在這種情況下布拉克的形式為 (xa,xb),我們可以看到對於給定的值,輸出不一定位於範圍內(xa, xb).

>>> def f(x):
...     return (x-1)**2
>>> from scipy import optimize
>>> minimizer = optimize.golden(f, brack=(1, 2))
>>> minimizer
1
>>> res = optimize.golden(f, brack=(-1, 0.5, 2), full_output=True)
>>> xmin, fval, funcalls = res
>>> f(xmin), fval
(9.925165290385052e-18, 9.925165290385052e-18)

相關用法


注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.optimize.golden。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。