将 sympy 中的计算结果分配给函数
Assign result of calculation in sympy to function
我在 SO 上查看了几个问题,但找不到解决此问题的方法:
我用 fourier_transform(exp(-tau*abs(t)), t, w)
计算傅里叶变换。我将 tau
、t
和 w
分配给了 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
是局部变量。
顺便说一下,您也可以使用标准函数定义,但是永远不要尝试将函数定义为变量。
我在 SO 上查看了几个问题,但找不到解决此问题的方法:
我用 fourier_transform(exp(-tau*abs(t)), t, w)
计算傅里叶变换。我将 tau
、t
和 w
分配给了 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
是局部变量。
顺便说一下,您也可以使用标准函数定义,但是永远不要尝试将函数定义为变量。