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


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

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

用法:

scipy.optimize.fminbound(func, x1, x2, args=(), xtol=1e-05, maxfun=500, full_output=0, disp=1)#

標量函數的有界最小化。

參數

func 可調用 f(x,*args)

要最小化的目標函數(必須接受並返回標量)。

x1, x2 浮點數或數組標量

有限優化界限。

args 元組,可選

傳遞給函數的額外參數。

xtol 浮點數,可選

收斂容差。

maxfun 整數,可選

允許的最大函數評估次數。

full_output 布爾型,可選

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

disp 整數,可選
如果非零,則打印消息。

0:不打印消息。 1:僅非收斂通知消息。 2:打印一條關於收斂的消息。 3:打印迭代結果。

返回

xopt ndarray

最小化目標函數的參數(在給定區間內)。

fval 數字

(可選輸出)在最小值處計算的函數值。

ierr int

(可選輸出)錯誤標誌(如果收斂則為 0,如果達到函數調用的最大數量則為 1)。

numfunc int

(可選輸出)進行的函數調用的數量。

注意

找到標量函數的局部最小化器函數在區間 x1 < xopt < x2 中使用 Brent 方法。 (看scipy.optimize.brent對於auto-bracketing。)

參考

[1]

福賽斯 (G.E.)、M.A. 馬爾科姆 (M.A. Malcolm) 和 C.B.莫勒 (C.B. Moler)。 “數學計算的計算機方法。” Prentice-Hall自動計算係列259(1977)。

[2]

布倫特,理查德·P。無導數的最小化算法。快遞公司,2013 年。

例子

fminbound 查找給定範圍內函數的最小值。以下示例說明了這一點。

>>> from scipy import optimize
>>> def f(x):
...     return (x-1)**2
>>> minimizer = optimize.fminbound(f, -4, 4)
>>> minimizer
1.0
>>> minimum = f(minimizer)
>>> minimum
0.0
>>> res = optimize.fminbound(f, 3, 4, full_output=True)
>>> minimizer, fval, ierr, numfunc = res
>>> minimizer
3.000005960860986
>>> minimum = f(minimizer)
>>> minimum, fval
(4.000023843479476, 4.000023843479476)

相關用法


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