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浮點數或陣列純量
有限的最佳化邊界。
- argstuple,選用
傳遞給函數的額外參數。
- xtolfloat,選用
收斂容忍度。
- maxfunint,選用
允許的最大函數評估次數。
- full_outputbool,選用
若為 True,則傳回選用輸出。
- disp: int, 選用
若為非零值,則印出訊息。
0
: 不印出訊息。1
: 僅印出未收斂通知訊息。2
: 也印出收斂訊息。3
: 印出迭代結果。
- 傳回值:
- xoptndarray
在給定區間內最小化目標函數的參數。
- fvalnumber
(選用輸出)在最小值評估的函數值。
- ierrint
(選用輸出)錯誤旗標(若收斂則為 0,若達到最大函數呼叫次數則為 1)。
- numfuncint
(選用輸出)進行的函數呼叫次數。
參見
minimize_scalar
純量單變數函數最小化演算法的介面。請參閱特別是 ‘Bounded’ 方法。
註解
使用 Brent 方法在區間 x1 < xopt < x2 中尋找純量函數 func 的局部最小值。(有關自動括號,請參閱
brent
。)參考文獻
[1]Forsythe, G.E., M. A. Malcolm, and C. B. Moler. “Computer Methods for Mathematical Computations.” Prentice-Hall Series in Automatic Computation 259 (1977).
[2]Brent, Richard P. Algorithms for Minimization Without Derivatives. Courier Corporation, 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)