前提・実現したいこと
Pythonで方程式を解きたい。
具体的には、
P = C * ((1-(1+r)**(-n)))/r + fv*(1+r)**(-n)
という等式をrについて解きたい。
発生している問題・エラーメッセージ
python
1NotImplementedError Traceback (most recent call last) 2<ipython-input-47-a183add313da> in <module> 3 3 P, C, r, n, fv = sympy.symbols('P C r n fv') 4 4 eq = sympy.Eq(P, C * ((1-1/(1+r)**n))/r + fv/(1+r)**n) 5----> 5 sympy.solve(eq, r) 6 7~\Anaconda3\lib\site-packages\sympy\solvers\solvers.py in solve(f, *symbols, **flags) 8 1169 ########################################################################### 9 1170 if bare_f: 10-> 1171 solution = _solve(f[0], *symbols, **flags) 11 1172 else: 12 1173 solution = _solve_system(f, symbols, **flags) 13 14~\Anaconda3\lib\site-packages\sympy\solvers\solvers.py in _solve(f, *symbols, **flags) 15 1740 16 1741 if result is False: 17-> 1742 raise NotImplementedError('\n'.join([msg, not_impl_msg % f])) 18 1743 19 1744 if flags.get('simplify', True): 20 21NotImplementedError: multiple generators [r, (r + 1)**n] 22No algorithms are implemented to solve equation -C*(1 - (r + 1)**(-n))/r + P - fv*(r + 1)**(-n)
該当のソースコード
Python
1# Solve the equation for r 2import sympy 3from sympy import symbols 4 5P, C, r, n, fv = sympy.symbols('P C r n fv') 6eq = sympy.Eq(P, C * ((1-1/(1+r)**n))/r + fv/(1+r)**n) 7sympy.solve(eq, r)
試したこと
sympyで方程式が解けることは理解したのですが、エラー吐いたためなかなか前に進まないです。自力で30分くらい格闘したので降参します。。。
pythonで方程式を解ける方がいればアドバイスをいただきたく投稿しました。
補足情報(FW/ツールのバージョンなど)
python==3.7
sympy==1.4
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。