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返回0,对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}\左侧[\begin{cases}0&\text{}:x<0 \e^{- x\\l弗特{k{0}\右\rvert}&文本{ for }:X \geq 0\\end $$ }]\左(k\右)。
我在Python/Sympy中寻找过这类FT的例子,但没有发现任何东西。
高斯的分析FT也很好。也许Piecewise不是正确的工具,或者我犯了其他一些新手的错误。
感谢你的建议。
俱乐部里的老家伙
发布于 2014-11-17 12:02:59
使用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))https://stackoverflow.com/questions/26966396
复制相似问题