用不动点迭代法解这个方程

2024-09-26 22:51:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎么解这个方程

x3 + x - 1 = 0

使用不动点迭代?

我在网上能找到任何定点迭代代码(特别是Python中的代码)吗?


Tags: 代码定点方程x3不动点
2条回答

试试SymPy库。这是relevant example

>>> solve(x**3 + 2*x**2 + 4*x + 8, x)
[-2*I, 2*I, -2]

不过,我不确定SymPy用哪种算法来解这个方程。

使用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'>

通过转到documentation page并单击[source]链接,可以在线找到当前的fixed_point源代码。

相关问题 更多 >

    热门问题