2016-07-20 20 views
1

Ist es möglich, ein System der Gleichungen (linear oder nicht linear) mit sympy zu lösen, in dem der Ausgang symbolisch ist?System von Gleichungen in sympy mit symbolischem Ausgang

Beispiel:

1. f_m = a0 + a1*(-dx) + a2*(-dx)^2 
2. f_c = a0 
3. f_p = a0 + a1*(dx) + a2*(dx)^2 

für a2 Lösen.

Durch die Mathematica-Befehl

die Lösung lösende

a2 = (1/2)*(f_m - 2*f_c + f_p). 

Antwort

3

Dies ist eine fundamentale Operation in Sympy ist, können Sie die Dokumention studieren sollte. Nur um Ihnen den Einstieg:

import sympy as sp 

f_m, f_c, f_p = sp.var('f_m, f_c, f_p') 
a0, a1, a2 = sp.var('a0:3') 
dx = sp.var('dx') 

eq1 = sp.Eq(f_m, a0 + a1*(-dx) + a2*(-dx)**2) 
eq2 = sp.Eq(f_c, a0) 
eq3 = sp.Eq(f_p, a0 + a1*(dx) + a2*(dx)**2) 


sp.linsolve([eq1, eq2, eq3], (a0, a1, a2)) 
# sp.solve([eq1, eq2, eq3], (a0, a1, a2)) # also works 

{(f_c, (-f_m + f_p)/(2*dx), (-2*f_c + f_m + f_p)/(2*dx**2))}

Verwandte Themen