当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python SciPy optimize.fminbound用法及代码示例


本文简要介绍 python 语言中 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 浮点数或数组标量

有限优化界限。

args 元组,可选

传递给函数的额外参数。

xtol 浮点数,可选

收敛容差。

maxfun 整数,可选

允许的最大函数评估次数。

full_output 布尔型,可选

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

disp 整数,可选
如果非零,则打印消息。

0:不打印消息。 1:仅非收敛通知消息。 2:打印一条关于收敛的消息。 3:打印迭代结果。

返回

xopt ndarray

最小化目标函数的参数(在给定区间内)。

fval 数字

(可选输出)在最小值处计算的函数值。

ierr int

(可选输出)错误标志(如果收敛则为 0,如果达到函数调用的最大数量则为 1)。

numfunc int

(可选输出)进行的函数调用的数量。

注意

找到标量函数的局部最小化器函数在区间 x1 < xopt < x2 中使用 Brent 方法。 (看scipy.optimize.brent对于auto-bracketing。)

参考

[1]

福赛斯 (G.E.)、M.A. 马尔科姆 (M.A. Malcolm) 和 C.B.莫勒 (C.B. Moler)。 “数学计算的计算机方法。” Prentice-Hall自动计算系列259(1977)。

[2]

布伦特,理查德·P。无导数的最小化算法。快递公司,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)

相关用法


注:本文由纯净天空筛选整理自scipy.org大神的英文原创作品 scipy.optimize.fminbound。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。