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