Есть ли способ вычислить уравнение с n, возведенным в степень x? - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь решить x в следующем уравнении, используя python;

 20 = 3^x - x - 4

Я пробовал с sympy solve (), но вместо вывода результата решения x он выводит другое уравнение.

Текущий код:

x = Symbol('x', integer = True)
eqn = Eq(3**x - x - 4, 20)
r = solve(eqn)

Ожидаемый вывод:

r = −24, 3

Фактический вывод:

[-24 - LambertW(-log(3)/282429536481)/log(3), -24 - LambertW(-log(3)/282429536481, -1)/log(3)]

1 Ответ

0 голосов
/ 06 февраля 2019

Sympy дает правильный ответ здесь, ответы только очень близки к -24 и 3. Например, Вольфрам Альфа говорит, что ответы -23,999999999999645929383851407736751424572557264463826050688997713695590353717193719618212151198618 * 12151198215 * действительно 100, симпс и 100согласен:

>>> sympy.N(r[0], 100)
-23.99999999999645929383851407736751424572557264463826050688997713695590353717193719618212151198215945
>>> sympy.N(r[1], 100)
3.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...