用不动点迭代法解这个方程
我该如何解决这个方程
x3 + x - 1 = 0
使用固定点迭代法呢?
有没有什么关于固定点迭代法的代码(特别是Python语言的)可以在网上找到?
2 个回答
12
使用 scipy.optimize.fixed_point:
import scipy.optimize as optimize
def func(x):
return -x**3+1
# This finds the value of x such that func(x) = x, that is, where
# -x**3 + 1 = x
print(optimize.fixed_point(func,0))
# 0.682327803828
定义 fixed_point
的 Python 代码在 scipy/optimize/minpack.py 文件里。具体位置取决于你安装了哪个地方的 scipy
。你可以通过输入以下命令来找到它:
In [63]: import scipy.optimize
In [64]: scipy.optimize
Out[64]: <module 'scipy.optimize' from '/usr/lib/python2.6/dist-packages/scipy/optimize/__init__.pyc'>
你可以在网上找到当前的 fixed_point
源代码,只需访问 文档页面,然后点击 [source]
链接。