这应该是一项简单的任务,但我很难让它在 Sympy 中工作。
我想用特定公式替换带有任意参数的未定义函数,例如:
from sympy import *
var('a b c')
f= Function('f')
test= f(a+b)
lin= test.subs({f(c):2*(c)})
print(lin)
我想要打印出来
2*(a+b)
但是,为此我必须使用
lin= test.subs({f(a+b):2*(a+b)})
我是否必须将 f 定义为类才能进行此替换?
当你在做的时候高级表达操作 http://docs.sympy.org/latest/tutorial/manipulation.html像这样(好吧,你的例子仍然很简单),替换方法 http://docs.sympy.org/latest/modules/core.html?highlight=replace#sympy.core.basic.Basic.replace非常有用:
test.replace(f, lambda arg: 2*arg) # returns: 2*x + 2*y
来自文档:
[replace] 遍历表达式树,并从树的底部到顶部执行匹配子表达式的替换。
文档的第二个示例表明,任何函数都可以被另一个对其参数起作用的函数替换,如上面的示例所示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)