1
我目前正在使用Sympy 1.0和Python 2.7,我的目標是用符號替換表達式中的每個數字參數。Sympy:在表達式中替換「-1」?
例如:
2 * x + 3 * y - 10 * z -> a * x + b * y - c * z
到目前爲止,我用expression.atoms(Number)
獲得數值參數列表中,以後取代它們或者使用.subs
或寫信一切爲字符串並使用.replace
。不過,我現在面臨的問題與表達式,如:
expression = sympy.simpify("x - z")
哪裏-z
實際上是-1 * z
如果我分析表達式樹......但-1
沒有的expression.atoms(Number)
結果中出現,所以我不能代替它。
即使將表達式轉換爲字符串,然後使用.replace
也沒有什麼幫助,因爲-1 * z
始終寫爲-z
。
可能有一些解決方案,我忽略了,但到目前爲止,我卡住了。你可以幫我嗎?預先感謝您的時間。
你確定嗎? 'sympy.simplify(' - x')。atoms()'返回給我{-1,x}' –
你是對的:我第一次嘗試使用'subs'時可能犯了個錯誤。我用'subs'重試。剛纔,它的工作完美無瑕。 – Alberto
你說得對,我會這麼做。 – Alberto