如何在预定义的方程中为变量赋值?

use*_*706 5 python variables sympy

对于预定义的方程,为变量赋值不会改变方程的值.如何为变量分配新值,以便我得到方程的适当值而不是前一个

a,b,c,d,e,f=sympy.symbols('abcdef')
a,b=c,d

e=a+b #equation 
print e
c+d #value of eqn
a,b=d,f
print e
c+d  #not d+f
Run Code Online (Sandbox Code Playgroud)

unu*_*tbu 5

也许使用替代而不是平等:

import sympy
a,b,c,d,e,f=sympy.symbols('abcdef')
e=a+b #equation 
print e.subs([(a,c),(b,d)])
# c + d
print e.subs([(a,d),(b,f)])
# d + f
Run Code Online (Sandbox Code Playgroud)

  • 上面的代码在我的结尾工作正常:sympy 0.6.5,python 2.5 (2认同)