Опытный с Python. Новое для Sympy.
У меня есть трансцендентное уравнение, f (x) = sin (x) - x.
Если y = f (x), я хочу решить для x, зная y.
Я думаю, что Sympy может это сделать, но у меня нет опыта в этом. Может кто-нибудь объяснить, что я должен делать?
(В вопросе " Трансцендентальное уравнение" есть ответы для ручного проката итеративного подхода, который является моей резервной.)
Вот что я пробовал:
from sympy import *
x = symbols('x')
solve(Eq(sin(x) - x)) # Exception raised here
# NotImplementedError: multiple generators [x, sin(x)]
# No algorithms are implemented to solve equation -x + sin(x)
Я признаю, что это даже не сообщает, что у меня известное значение для y. Как вы можете видеть, я не понимаю, что делать вообще.
Это было бы итеративным решением. Есть ли способ заставить sympy сделать это, или я должен использовать другой пакет Python для итеративных решений?
Вся помощь приветствуется.
Как насчет использования nsolve? то есть:
>>> from sympy import *
>>> x = symbols('x')
>>> nsolve(sin(x)-x, x, 1)
Кажется, он использует mpmath.findroot за шторами.