我看到Sympy有一个叫做 sympy.Function
功能,但在文档中找不到下面的答案。
是否可以在表达式中找到自定义函数,并使用函数定义来简化。
作为一个非常简单的例子,我定义了函数。f(x) = 2 * exp(x)
.
现在假设我有一些Sympy表达式。6 * exp(y + z)
能否告诉Sympy简化这个表达式 用函数的方式给出一个结果?f
......也就是说,Sympy的输出是......。3 * f(x)
.
我发现,使用 .subs()
对变量的简单替换有效,但对包含符号作为参数的函数似乎不起作用,如上所述。
谢谢,我看到Sympy有一个sympy.Function的功能,但是不能用在包含符号作为参数的函数上,如上所述。
我想你想做的事情目前还不被Sympy支持(比如看这个stackoverflow)。疑问). 然而,用这段代码可以做一些非常接近的事情。
from sympy import symbols, exp
x, f = symbols('x, f')
expr = 6 * exp(x)
f_func = 2 * exp(x)
print(expr.subs({f_func: f}))
# 3 * f
在上面的代码中,我假设你要简化的表达式是:expr
在代码中)是一个函数 x.