将 sympy 中的计算结果分配给函数

Assign result of calculation in sympy to function

我在 SO 上查看了几个问题,但找不到解决此问题的方法:
我用 fourier_transform(exp(-tau*abs(t)), t, w) 计算傅里叶变换。我将 tautw 分配给了 tau, t, w = symbols('tau t w')。如何将 FT 的结果放入函数中,例如像

g(tau, w) = fourier_transform(exp(-tau*abs(t)), t, w)

?当我这样写时,我得到错误 can't assign to function call。当我这样做时

g = fourier_transform(exp(-tau*abs(t)), t, w)

然后我不能(像往常一样)用 g(tau, w) 或类似的东西来称呼它。有没有办法做到这一点? 编辑:我想要的最终结果是:

g(tau, w) = 2*tau/(tau**2 + 4*pi**2*w**2)

我可以用 (f.eks) g(2, 3).
简单地调用 g 编辑二:Python 调用:

>>> fourier_transform(exp(-tau*abs(t)), t, w)
2*tau/(tau**2 + 4*pi**2*w**2)

所以你创建你的 g 方法并在 g 方法中使用 fourier_transform 像这样:

但是你也必须提供

def g(tau, w):
    return fourier_transform(exp(-tau*abs(t)), t, w)

只是如果你想要一个内联解决方案,你可以使用 lambda 来处理:

g = lambda tau,w: ourier_transform(exp(-tau*abs(t)), t, w)

假设 t 是局部变量。

顺便说一下,您也可以使用标准函数定义,但是永远不要尝试将函数定义为变量。