python-用任意参数替换sympy函数
作者:互联网
这应该是一件容易的事,但是我很难让它在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定义为类才能进行替换?
解决方法:
当您以这种方式执行advanced expression manipulation时(好吧,您的示例仍然很简单),replace method非常有用:
test.replace(f, lambda arg: 2*arg) # returns: 2*x + 2*y
从文档:
[replace] Traverses an expression tree and performs replacement of matching subexpressions from the bottom to the top of the tree.
文档的第二个示例显示,任何函数都可以用对其参数起作用的另一个函数替换,如上例所示.
标签:substitution,sympy,python 来源: https://codeday.me/bug/20191028/1954937.html