基本上,我想执行以下操作:
t = np.linspace(-5,5,100)
y = np.exp(-(t**2)/2)
p = numpy.fft.ffti(y)
x = ?
我对数字傅立叶变换不熟悉,所以我不知道计算出的概率密度值对应于哪个x值,而且我也不知道我需要将哪个常数(如果有)乘以当我针对x绘制p的值时。我找不到可用的文档会有所帮助。
基本上,我想执行以下操作:
t = np.linspace(-5,5,100)
y = np.exp(-(t**2)/2)
p = numpy.fft.ffti(y)
x = ?
我对数字傅立叶变换不熟悉,所以我不知道计算出的概率密度值对应于哪个x值,而且我也不知道我需要将哪个常数(如果有)乘以当我针对x绘制p的值时。我找不到可用的文档会有所帮助。
这只是为了让您前进。我使用了正向变换,因为您的自变量看起来像时间(t)。
import numpy as np
import matplotlib.pyplot as p
%matplotlib inline
t = np.linspace(-5,5,100) #presumed to be time
y = np.exp(-(t**2)/2)
p.subplot(121)
p.plot(t,y)
p.subplot(122)
f = np.fft.fftshift(np.fft.fft(y))
freq = np.fft.fftshift(np.fft.fftfreq(100,d=t[1]-t[0]))
p.plot(freq,np.abs(f))