奇函数的离散傅里叶变换

时间:2018-06-12 14:10:40

标签: python numpy fft pyfftw

我有一个初始函数u(x,0) = -sin(x),我希望以u(x,t) = $\sum_{k \geq 1} a_{k} sin (kx)$的形式推导出奇数奇偶校验解的FFT系数。我尝试在$\exp{ikx}$方面使用函数的正常扩展,但它给解决方案增加了一些错误。

有人可以建议我使用numpy.fft.fft来过滤整个解决方案中仍然是奇数的傅立叶系数的过程吗?

1 个答案:

答案 0 :(得分:1)

如果函数本质上是奇数(如正弦函数),那么只有fft函数的虚部将为非零。我认为你的问题是你的功能不应该是周期性的,你应该排除最后一点:

import numpy as np
x=np.linspace(-np.pi,np.pi,50,endpoint=False)
y=-np.sin(x)
yf=np.fft.fft(y)
even_part=yf.real
odd_part=yf.imag

此处只有odd_part[1]非零。 如果您的函数不是奇怪的并且您想要强制它,您可以使用我在评论中提到的sdt,或者在左侧添加函数的反函数,然后使用fft

另一点,如果您的输入不复杂,那么使用rfft

的速度更快,效率更高