与符号输出一致的方程组

System of equations in sympy with symbolic output

是否可以使用 sympy 求解方程组(线性或非线性),其中输出是符号的?

示例:

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

求解a2。

通过 Mathematica 命令

解决方案是

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

这是Sympy中的一个基本操作,你应该学习文档。 只是为了让你开始:

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))}