EDIT: Ich frage nicht, wie man eine Gleichung in Bezug auf eine gegebene Variable löst (wie in diesem supposed duplicated question), aber wie man einen Ausdruck in Form von darstellt anderer, wie in der Frage angegeben. Ich glaube, es ist die "doppelte" Frage, einen irreführenden Titel zu haben.Wie man einen Ausdruck in Bezug auf einen anderen Ausdruck in sympy umwandelt
Ich bin sehr neu mit SymPy. Ich habe einen Ausdruck, der, einmal in Bezug auf einen anderen Ausdruck ausgedrückt, sehr nett werden sollte. Das Problem ist, dass ich nicht weiß, wie man den ursprünglichen Ausdruck in Bezug auf den anderen "zwingen" kann.
Dies ist ein einfaches Beispiel:
import sympy as sp
sp.init_printing(use_unicode=True)
a,b,c = sp.symbols('a b c')
A = a+b+c
B = a+c
C = A.subs(a+c,B) # Expected/wanted: C = B+b
C
A.rewrite(B)
A und B eher komplexer Ausdrücke sein könnten. Als Referenz ist dies mein wirkliches-Case-Szenario:
import sympy as sp
sp.init_printing(use_unicode=True)
t, w, r = sp.symbols('t w r')
S = sp.Function('S')(t)
V = (S-w*(1+r)**t)/(((1+r)**t)-1)
V
St = -(r + 1)**t*(w - S)*sp.log(r + 1)/((r + 1)**t - 1)
St
Sobald ich St in Bezug auf V schreiben, sollte ich in der Lage sein, zu vereinfachen, nur um
St = rS (t) + rV
Aber ich kann es nicht in SymPy tun.