是否可以用输出为符号的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))}

关于python - 带有符号输出的Sympy方程组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38484174/

10-12 13:58