我想r使用 Python 重新排列变量的以下等式。
P = C * ((1-(1+r)**(-n)))/r + fv*(1+r)**(-n)
to
r = blabla...
我知道 sympy 与这样的重新安排任务有关。所以,我写了下面的代码。
# Solve the equation for r
import sympy
from sympy import symbols
P, C, r, n, fv = sympy.symbols('P C r n fv')
eq = sympy.Eq(P, C * ((1-1/(1+r)**n))/r + fv/(1+r)**n)
sympy.solve(eq, r)
但是,我得到了这样的错误。
NotImplementedError Traceback (most recent call last)
<ipython-input-47-a183add313da> in <module>
3 P, C, r, n, fv = sympy.symbols('P C r n fv')
4 eq = sympy.Eq(P, C * ((1-1/(1+r)**n))/r + fv/(1+r)**n)
----> 5 sympy.solve(eq, r)
~\Anaconda3\lib\site-packages\sympy\solvers\solvers.py in solve(f, *symbols, **flags)
1169 ###########################################################################
1170 if bare_f:
-> 1171 solution = _solve(f[0], *symbols, **flags)
1172 else:
1173 solution = _solve_system(f, symbols, **flags)
~\Anaconda3\lib\site-packages\sympy\solvers\solvers.py in _solve(f, *symbols, **flags)
1740
1741 if result is False:
-> 1742 raise NotImplementedError('\n'.join([msg, not_impl_msg % f]))
1743
1744 if flags.get('simplify', True):
NotImplementedError: multiple generators [r, (r + 1)**n]
No algorithms are implemented to solve equation -C*(1 - (r + 1)**(-n))/r + P - fv*(r + 1)**(-n)
我猜想 sympy 无法计算功率。你知道如何对方程执行这种复杂的重排吗?我正在使用 Python==3.7,sympy==1.4。
米脂
慕标5832272
相关分类