scipy.optimize.bracket¶
- scipy.optimize.bracket(func, xa=0.0, xb=1.0, args=(), grow_limit=110.0, maxiter=1000)[源代码]¶
将函数的最小值括起来。
给定一个函数和不同的初始点,沿下坡方向(由初始点定义)进行搜索,并返回包含函数f(Xa)>f(XB)<f(Xc)最小值的新点xa、xb、xc。这并不总是意味着所得到的解将满足xa<=x<=xB。
- 参数
- 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集成
进行的功能评估次数。
示例
此函数可以找到函数的向下凸域:
>>> 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 >>> 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()