这可能是一个非常幼稚的问题,但是请看这里。
我想计算函数f(x)的傅里叶变换。所以我定义了一个numpy数组X,并通过向量化函数f传递。现在,如果我计算此数组f(X)的FFT,则其结果不会像在纸上执行时那样成为f(x)的傅里叶变换。例如,如果我计算高斯函数的FFT,我应该得到一个高斯函数或其实部非常接近高斯函数的数组。
以下是代码。请告诉我我需要更改什么才能获得通常的傅里叶变换。
我想计算函数f(x)的傅里叶变换。所以我定义了一个numpy数组X,并通过向量化函数f传递。现在,如果我计算此数组f(X)的FFT,则其结果不会像在纸上执行时那样成为f(x)的傅里叶变换。例如,如果我计算高斯函数的FFT,我应该得到一个高斯函数或其实部非常接近高斯函数的数组。
以下是代码。请告诉我我需要更改什么才能获得通常的傅里叶变换。
import matplotlib.pyplot as plt
import numpy as np
N = 128
x = np.linspace(-5, 5, N)
y = np.exp(-x**2)
y_fft = np.fft.fftshift(np.fft.fft(y).real)
plt.plot(x, y_fft)
plt.show()
让我再强调一遍。我想计算任何函数(例如高斯函数)的傅里叶变换。FFT是计算数字数组的傅里叶变换的方法,但这与连续傅里叶变换公式的简单离散化不同。