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


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


本文简要介绍 python 语言中 scipy.optimize.bisect 的用法。

用法:

scipy.optimize.bisect(f, a, b, args=(), xtol=2e-12, rtol=8.881784197001252e-16, maxiter=100, full_output=False, disp=True)#

使用二分法在区间内查找函数的根。

基本二分例程,用于在参数 a 和 b 之间查找函数 f 的根。 f(a) 和 f(b) 不能具有相同的符号。缓慢但确定。

参数

f 函数

Python 函数返回一个数字。 f 必须是连续的,并且 f(a) 和 f(b) 必须有相反的符号。

a 标量

包围区间 [a,b] 的一端。

b 标量

包围区间 [a,b] 的另一端。

xtol 编号,可选

计算出的根 x0 将满足 np.allclose(x, x0, atol=xtol, rtol=rtol) ,其中 x 是精确根。该参数必须为正数。

rtol 编号,可选

计算的根 x0 将满足 np.allclose(x, x0, atol=xtol, rtol=rtol) ,其中 x 是确切的根。该参数不能小于其默认值 4*np.finfo(float).eps

maxiter 整数,可选

如果在 maxiter 迭代中未实现收敛,则会引发错误。必须 >= 0。

args 元组,可选

包含函数的额外参数f.f被称为apply(f, (x)+args).

full_output 布尔型,可选

如果full_output为 False,则返回根。如果full_output为真,返回值为(x, r),其中 x 是根,r 是RootResults对象。

disp 布尔型,可选

如果为 True,则在算法未收敛时引发RuntimeError。否则,收敛状态记录在 RootResults 返回对象中。

返回

root 浮点数

a 和 b 之间的 f 的根。

r RootResults (如果 full_output = True 则存在)

包含有关收敛信息的对象。特别是,如果例程收敛,r.converged 为 True。

例子

>>> def f(x):
...     return (x**2 - 1)
>>> from scipy import optimize
>>> root = optimize.bisect(f, 0, 2)
>>> root
1.0
>>> root = optimize.bisect(f, -2, 0)
>>> root
-1.0

相关用法


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