scipy.optimize.golden

scipy.optimize.golden(func, args=(), brack=None, tol=1.4901161193847656e-08, full_output=0, maxiter=5000)[源代码]

使用黄金分割法返回一个变量的函数的最小值。

给定一个包含一个变量和可能的括号间隔的函数,将该函数的最小值返回到小数精度tol。

参数
func可调用函数(x,*args)

目标函数极小化。

args元组,可选

传递给func的附加参数(如果存在)。

brack元组,可选

三重(a,b,c),其中(a<b<c)和func(B)<func(A),func(C)。如果括号由两个数字(a,c)组成,则假定它们是下坡括号搜索的起始间隔(请参见 bracket );这并不总是意味着所获得的解将满足a<=x<=c。

tol浮动,可选

X公差停止标准

full_output布尔值,可选

如果为True,则返回可选输出。

maxiter集成

要执行的最大迭代次数。

参见

minimize_scalar

与标量单变量函数的最小化算法的接口。看“黄金” method 尤其是。

注意事项

使用模拟二分法来减小括号间隔。

示例

我们举例说明了函数在以下情况下的行为 brack 尺寸分别为2号和3号。在以下情况下 brack 形式为(xa,xb),我们可以看到,对于给定值,输出不一定在范围内 (xa, xb)

>>> def f(x):
...     return x**2
>>> from scipy import optimize
>>> minimum = optimize.golden(f, brack=(1, 2))
>>> minimum
1.5717277788484873e-162
>>> minimum = optimize.golden(f, brack=(-1, 0.5, 2))
>>> minimum
-1.5717277788484873e-162