scipy.optimize.

fixed_point#

scipy.optimize.fixed_point(func, x0, args=(), xtol=1e-08, maxiter=500, method='del2')[source]#

查找函数的定点。

给定一个或多个变量的函数和一个起始点,查找函数的定点:即 func(x0) == x0 的点。

参数:
funcfunction

要评估的函数。

x0array_like

函数的定点。

argstuple, 可选

传递给 func 的额外参数。

xtolfloat, 可选

收敛容差,默认值为 1e-08。

maxiterint, 可选

最大迭代次数,默认值为 500。

method{“del2”, “iteration”}, 可选

查找定点的方法,默认值为 “del2”,它使用 Steffensen 方法和 Aitken 的 Del^2 收敛加速 [1]。 “iteration” 方法只是简单地迭代函数,直到检测到收敛,而不尝试加速收敛。

参考文献

[1]

Burden, Faires, “Numerical Analysis”, 第 5 版,第 80 页

示例

>>> import numpy as np
>>> from scipy import optimize
>>> def func(x, c1, c2):
...    return np.sqrt(c1/(x+c2))
>>> c1 = np.array([10,12.])
>>> c2 = np.array([3, 5.])
>>> optimize.fixed_point(func, [1.2, 1.3], args=(c1,c2))
array([ 1.4920333 ,  1.37228132])