2010-07-17 4 views
5

, चर के लिए नए मान निर्दिष्ट करने से समीकरण के मान में परिवर्तन नहीं होता है। मैं कैसे चर के लिए नया मान निर्दिष्ट कर सकते हैं ताकि मैं समीकरण का उचित मूल्य मिल जाएगा और नहीं पिछले एकपूर्व परिभाषित समीकरण में चर के लिए नए मान कैसे असाइन करें? पूर्वनिर्धारित समीकरणों के लिए

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 
+1

आपकी समस्या की चर्चा: //docs.sympy.org/gotchas.html#variables-assignment-does-not-create-a-relation-between-expressions –

+0

@PreludeAndFugue: लिंक अब टूटा हुआ है। क्या आपके पास कोई नया संदर्भ है, शायद? – Bach

+0

अपडेटेड लिंक: http://docs.sympy.org/latest/gotchas.html#variables-assignment-does-not-create-a-relation-between-expressions –

उत्तर

5

शायद समानता के बजाय 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 
+0

यह प्राप्त करना टाइपर: 'instancemethod' ऑब्जेक्ट सबस्क्रिप्ट करने योग्य नहीं है – user394706

+2

उपरोक्त कोड मेरे अंत में ठीक काम करता है: sympy 0.6.5, पायथन 2.5 – ars

+0

thanx! यह मेरी वाक्यविन्यास गलती के कारण काम नहीं कर रहा था – user394706