當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。