本文簡要介紹 python 語言中 scipy.optimize.fsolve
的用法。
用法:
scipy.optimize.fsolve(func, x0, args=(), fprime=None, full_output=0, col_deriv=0, xtol=1.49012e-08, maxfev=0, band=None, epsfcn=None, factor=100, diag=None)#
求函數的根。
返回由
func(x) = 0
定義的(非線性)方程的根,給出初始估計值。- func: 可調用
f(x, *args)
一個函數,它至少接受一個(可能是向量)參數,並返回一個相同長度的值。
- x0: ndarray
func(x) = 0
的根的起始估計值。- args: 元組,可選
func 的任何額外參數。
- fprime: 可調用
f(x, *args)
,可選 用於計算 func 的雅可比行列式的函數,該函數具有跨行的導數。默認情況下,將估計雅可比行列式。
- full_output: 布爾型,可選
如果為真,則返回可選輸出。
- col_deriv: 布爾型,可選
指定 Jacobian 函數是否沿列計算導數(更快,因為沒有轉置操作)。
- xtol: 浮點數,可選
如果兩個連續迭代之間的相對誤差最多為 xtol,則計算將終止。
- maxfev: 整數,可選
函數調用的最大次數。如果為零,那麽
100*(N+1)
是最大值,其中 N 是元素的數量x0.- band: 元組,可選
如果設置為 two-sequence 包含 Jacobi 矩陣帶內的 sub- 和 super-diagonals 的數量,則 Jacobi 矩陣被認為是帶狀的(僅適用於
fprime=None
)。- epsfcn: 浮點數,可選
雅可比行列式的 forward-difference 近似的合適步長(對於
fprime=None
)。如果epsfcn小於機器精度,則假設函數中的相對誤差為機器精度的量級。- factor: 浮點數,可選
確定初始步長界限的參數(
factor * || diag * x||
)。應該在區間(0.1, 100)
中。- diag: 順序,可選
N 個正條目,用作變量的比例因子。
- func: 可調用
- x: ndarray
解決方案(或不成功調用的最後一次迭代的結果)。
- infodict: dict
帶有鍵的可選輸出字典:
nfev
函數調用次數
njev
雅可比調用次數
fvec
在輸出處評估的函數
fjac
正交矩陣 q,由最終近似雅可比矩陣的 QR 因式分解產生,按列存儲
r
同一矩陣的 QR 因式分解產生的上三角矩陣
qtf
矢量
(transpose(q) * fvec)
- ier: int
一個整數標誌。如果找到解決方案,則設置為 1,否則請參閱消息以獲取更多信息。
- mesg: str
如果沒有找到解決方案,mesg 會詳細說明失敗的原因。
參數 ::
返回 ::
注意:
fsolve
是對 MINPACK 的 hybrd 和 hybrj 算法的封裝。例子:
找到方程組的解:
x0*cos(x1) = 4, x1*x0 - x1 = 5
。>>> import numpy as np >>> from scipy.optimize import fsolve >>> def func(x): ... return [x[0] * np.cos(x[1]) - 4, ... x[1] * x[0] - x[1] - 5] >>> root = fsolve(func, [1, 1]) >>> root array([6.50409711, 0.90841421]) >>> np.isclose(func(root), [0.0, 0.0]) # func(root) should be almost 0.0. array([ True, True])
相關用法
- Python SciPy optimize.fmin用法及代碼示例
- Python SciPy optimize.fixed_point用法及代碼示例
- Python SciPy optimize.fmin_cobyla用法及代碼示例
- Python SciPy optimize.fmin_bfgs用法及代碼示例
- Python SciPy optimize.fmin_slsqp用法及代碼示例
- Python SciPy optimize.fmin_tnc用法及代碼示例
- Python SciPy optimize.fminbound用法及代碼示例
- Python SciPy optimize.fmin_cg用法及代碼示例
- Python SciPy optimize.fmin_powell用法及代碼示例
- Python SciPy optimize.rosen_der用法及代碼示例
- Python SciPy optimize.line_search用法及代碼示例
- Python SciPy optimize.rosen用法及代碼示例
- Python SciPy optimize.shgo用法及代碼示例
- Python SciPy optimize.minimize_scalar用法及代碼示例
- Python SciPy optimize.root用法及代碼示例
- Python SciPy optimize.NonlinearConstraint用法及代碼示例
- Python SciPy optimize.KrylovJacobian用法及代碼示例
- Python SciPy optimize.toms748用法及代碼示例
- Python SciPy optimize.linprog_verbose_callback用法及代碼示例
- Python SciPy optimize.bracket用法及代碼示例
- Python SciPy optimize.milp用法及代碼示例
- Python SciPy optimize.diagbroyden用法及代碼示例
- Python SciPy optimize.bisect用法及代碼示例
- Python SciPy optimize.isotonic_regression用法及代碼示例
- Python SciPy optimize.golden用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.optimize.fsolve。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。