我想使用 numpy fft 包进行快速傅立叶变换,然后我试图比较解析解和快速傅立叶变换之间的结果,虽然我可以看到我所做的曲线是相似的,很明显,尺度是不同的。
我已经尝试了几种不同版本的频率(角频率、频率和波数),但我所有的尝试都没有奏效,并且在 numpy 文档中,不清楚快速傅立叶变换是如何准确定义的。例如,我想将时间指数函数的傅立叶变换转换为角频域,f(t)=Exp(-a|t|), F(w)=a/pi*(a²+w² )(此解析解有多个版本,具体取决于我们正在考虑的频率空间)
def e(t):
return np.exp(-0.5*abs(t))
def F(w):
return 0.5/(np.pi)*(1/(((0.5)**2)+((w)**2)))
t=np.linspace(0,100,1000)
w=np.fft.fftfreq(len(t))
plt.plot(w,F(w),'o',label='F(w)')
plt.legend()
plt.show()
fourier=np.fft.fft(e(t))
plt.plot(w,fourier,'o')
plt.show()
我已经专门针对频率尝试了上述代码的多种不同变体,但我仍然没有达到 fft 和解析解相似的程度。有人可以帮我吗?
哔哔one
慕桂英546537
随时随地看视频慕课网APP
相关分类