2017-02-26 45 views

回答

3

問題是變量xt和變量x1而不是認爲相同,由於x1的「真實」屬性。因此,在區分中,x1變量被視爲常數,產生0

要解決此問題,如果您打算使用實際變量,則可以使用實際變量x來定義您的表達式。

>>> x = Symbol('x', real=True) 
>>> t = sympify('x^2', locals={'x': x}) 
>>> diff(t, x) 
2*x 

不是傳遞一個明確的字典與locals關鍵字參數,你也可以只調用locals()locals=locals()在所有的整個本地符號表拉作爲一個字典,如果你有很多的符號變量可能是有用的。

+0

我明白了,謝謝! – vroyibg

+0

@vroyibg不客氣! – miradulo

+0

你也可以在sympify中寫入'locals = locals()'來獲取所有局部變量,包括'x'。 – asmeurer