本文简要介绍 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。