本文簡要介紹 python 語言中 scipy.optimize.bracket
的用法。
用法:
scipy.optimize.bracket(func, xa=0.0, xb=1.0, args=(), grow_limit=110.0, maxiter=1000)#
將函數的最小值括起來。
給定一個函數和不同的初始點,沿下坡方向(由初始點定義)搜索並返回包含函數最小值的三個點。
- func: 可調用 f(x,*args)
最小化的目標函數。
- xa, xb: 浮點數,可選
初始點。默認 xa 為 0.0,xb 為 1.0。局部最小值不需要包含在該區間內。
- args: 元組,可選
附加參數(如果存在),傳遞給 func。
- grow_limit: 浮點數,可選
最大增長限製。默認為 110.0
- maxiter: 整數,可選
要執行的最大迭代次數。默認為 1000。
- xa, xb, xc: 浮點數
括號的最終點。
- fa, fb, fc: 浮點數
括號點處的目標函數值。
- funcalls: int
進行的函數評估次數。
- BracketError
如果在算法終止之前沒有找到有效的括號。有關有效括號的條件,請參閱注釋。
參數 ::
返回 ::
拋出 ::
注意:
該算法嘗試找到滿足 和 的三個嚴格排序點(即 或 ),其中必須嚴格滿足不等式之一,並且所有 必須是有限的。
例子:
這個函數可以找到一個函數的下凸區域:
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from scipy.optimize import bracket >>> def f(x): ... return 10*x**2 + 3*x + 5 >>> x = np.linspace(-2, 2) >>> y = f(x) >>> init_xa, init_xb = 0.1, 1 >>> xa, xb, xc, fa, fb, fc, funcalls = bracket(f, xa=init_xa, xb=init_xb) >>> plt.axvline(x=init_xa, color="k", linestyle="--") >>> plt.axvline(x=init_xb, color="k", linestyle="--") >>> plt.plot(x, y, "-k") >>> plt.plot(xa, fa, "bx") >>> plt.plot(xb, fb, "rx") >>> plt.plot(xc, fc, "bx") >>> plt.show()
請注意,兩個初始點都位於最小值的右側,第三個點位於 “downhill” 方向:函數呈現遞減的方向(向左)。最終點嚴格排序,中間點的函數值小於端點的函數值;由此可見,最小值必須位於括號內。
相關用法
- Python SciPy optimize.brute用法及代碼示例
- Python SciPy optimize.broyden1用法及代碼示例
- Python SciPy optimize.broyden2用法及代碼示例
- Python SciPy optimize.brentq用法及代碼示例
- Python SciPy optimize.brenth用法及代碼示例
- Python SciPy optimize.brent用法及代碼示例
- Python SciPy optimize.bisect用法及代碼示例
- Python SciPy optimize.basinhopping用法及代碼示例
- Python SciPy optimize.rosen_der用法及代碼示例
- Python SciPy optimize.line_search用法及代碼示例
- Python SciPy optimize.rosen用法及代碼示例
- Python SciPy optimize.shgo用法及代碼示例
- Python SciPy optimize.minimize_scalar用法及代碼示例
- Python SciPy optimize.root用法及代碼示例
- Python SciPy optimize.fmin用法及代碼示例
- Python SciPy optimize.NonlinearConstraint用法及代碼示例
- Python SciPy optimize.KrylovJacobian用法及代碼示例
- Python SciPy optimize.toms748用法及代碼示例
- Python SciPy optimize.linprog_verbose_callback用法及代碼示例
- Python SciPy optimize.milp用法及代碼示例
- Python SciPy optimize.diagbroyden用法及代碼示例
- Python SciPy optimize.isotonic_regression用法及代碼示例
- Python SciPy optimize.golden用法及代碼示例
- Python SciPy optimize.newton用法及代碼示例
- Python SciPy optimize.fsolve用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.optimize.bracket。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。