Sympy可以正确计算双面指数衰减的FT:
x, k, k0 = symbols('x k k0')
fourier_transform(exp(-k0 * abs(x)), x, k)
-> 2k0 /(4pi ^ 2k ^ 2 + k0 ^ 2)
需要手工计算并由http://www.thefouriertransform.com/pairs/decayingexponential.php确认
我试图通过定义分段函数对单面指数衰减执行相同的操作,其中对于x = 0,该函数返回exp(-abs(k0)x)
f = exp(-abs(k0)*x)
ssexp = Piecewise( (0,x<0), (f, x>=0))
fourier_transform(ssexp, x, k)
输出(我不知道如何插入格式化的方程式)仅返回:
Fx[{0 for x<0, e-x|k0| for x>=0](k)
输出的LaTeX代码是
$$
\ mathcal {F} {x} \ left [\ begin {cases} 0和\ text {for}:x $$
我一直在寻找在Python / Sympy中完成此类FT的示例,但没有发现任何东西。
高斯的分析FT也可以正常工作。也许Piecewise不是解决这个问题的正确工具,或者我犯了其他一些菜鸟错误。
建议表示赞赏。
俱乐部里的老家伙
最佳答案
使用Heaviside函数而不是逐段函数似乎是这里的方法:
>>> fourier_transform(f*Heaviside(x), x, k)
1/(2*I*pi*k + Abs(k0))
但在最新版本的SymPy中,您提供的表达式也适用于我:
>>> fourier_transform(ssexp, x, k)
1/(2*I*pi*k + Abs(k0))