对于预定义方程式,将新值分配给变量不会改变方程式的值。 我如何分配新值的变量,这样我会得到方程的适当的值,而不是以前的一个如何将新值赋给预定义方程中的变量?
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
对于预定义方程式,将新值分配给变量不会改变方程式的值。 我如何分配新值的变量,这样我会得到方程的适当的值,而不是以前的一个如何将新值赋给预定义方程中的变量?
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
也许使用substitution,而不是平等的:HTTP:
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
得到这个 TypeError:'instancemethod'对象不是可下载的 – user394706 2010-07-17 16:30:32
上面的代码在我的最后工作正常:sympy 0.6.5,python 2.5 – ars 2010-07-17 18:26:41
thanx!由于我的语法错误,它没有工作 – user394706 2010-07-18 02:26:30
您的问题的讨论: //docs.sympy.org/gotchas.html#variables-assignment-does-not-create-a-relation-between-expressions – 2010-07-17 18:38:04
@PreludeAndFugue:链接现在已被打破。也许你有任何新的参考? – Bach 2014-09-26 14:27:10
更新后的链接:http://docs.sympy.org/latest/gotchas.html#variables-assignment-does-not-create-a-relation-between-expressions – 2014-09-28 12:37:21