使用sympy求解超越方程

时间:2018-06-19 20:15:24

标签: python python-3.x sympy

有Python经验。 Sympy的新手。

我有一个超越方程,f(x)= sin(x)-x。

如果y = f(x),我想在知道y的情况下求解x。

我认为Sympy可以做到这一点,但是我没有经验。有人可以解释我该怎么做吗?

(问题Transcendental Equation为手动介绍迭代方法提供了答案,这是我的后盾。)

这是我尝试过的:

Table 'u' from one of the SELECTs cannot be used in field list

我认识到这甚至没有传达出我知道y的值。如您所见,我根本不知道该怎么办。

这将是一个迭代的解决方案。有没有办法让sympy做到这一点,还是应该为迭代解决方案使用其他Python包?

感谢所有帮助。

1 个答案:

答案 0 :(得分:3)

使用nsolve怎么样?即:

>>> from sympy import *
>>> x = symbols('x')
>>> nsolve(sin(x)-x, x, 1)

似乎在幕后使用了mpmath.findroot