scipy.optimize.

fixed_point#

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

尋找函數的不動點。

給定一個或多個變數的函數和一個起始點,尋找函數的不動點:即 func(x0) == x0 的位置。

參數:
func函數

要評估的函數。

x0array_like

函數的不動點。

argstuple, optional

傳遞給 func 的額外參數。

xtolfloat, optional

收斂容忍度,預設為 1e-08。

maxiterint, optional

最大迭代次數,預設為 500。

method{“del2”, “iteration”}, optional

尋找不動點的方法,預設為 “del2”,它使用 Steffensen 方法與 Aitken Del^2 收斂加速 [1]。“iteration” 方法僅迭代函數直到偵測到收斂,而不會嘗試加速收斂。

參考文獻

[1]

Burden, Faires, “數值分析”, 第 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])