与符号输出相对应的方程组

时间:2016-07-20 14:32:48

标签: python wolfram-mathematica sympy symbolic-math

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

示例:

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

1 个答案:

答案 0 :(得分:3)

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