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确认
我尝试通过定义一个Piecewise函数对单边指数衰减做同样的事情,其中函数为x< 0返回0而exp(-abs(k0)x)为x> = 0
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&amp; \ text {for}:x&lt; 0 \ e ^ { - x \ left \ lvert {k {0}} \ right \ rvert}&amp; \ text {for}:x \ geq 0 \ end {cases} \ right] \ left(k \ right) $$
我已经在Python / Sympy中找到了这种FT的例子但没有找到任何东西。
高斯分析FT也可以正常工作。也许Piecewise不是正确的工具,或者我犯了其他一些新手的错误。
建议表示赞赏。
俱乐部中的老家伙
答案 0 :(得分:3)
使用Heaviside函数而不是Piecewise似乎是这里的方法:
>>> 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))