Как решить уравнение, содержащее сумму в SymPy? - PullRequest
1 голос
/ 22 апреля 2020

Я хочу решить следующее уравнение для x с SymPy:

formula

(Обратите внимание, что уравнение можно упростить как упоминалось в комментариях, я дословно скопировал его из примера в юридическом документе.)

Насколько я понимаю, это переводится в следующее выражение SymPy:

from sympy import Sum, solve
from sympy.abc import k, x

solve(350 - 18500 + Sum(182.94 * (1/(1+x)**(k/12)), (k, 1, 120)), x)

Однако, когда Я запускаю это, результат пуст:

[]

Что я делаю не так?

1 Ответ

3 голосов
/ 22 апреля 2020

solve, вероятно, не должно давать [], но вы получите лучшие результаты от nsolve для этого выражения, используя предположение для x около 0:

>>> from sympy.abc import k, x
>>> from sympy import nsolve
eq = 350 - 18500 + Sum(182.94 * (1/(1+x)**(k/12)), (k, 1, 120))
>>> nsolve(eq, 0)
0.0397546543274819
>>> eq.subs(x,_).round(2)
0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...