這篇文章的目的是爲了正確理解Python或Matlab上的數值傅立葉變換,其中傅里葉變換的分析是衆所周知的。爲此,我選擇矩形功能,轉換它的解析表達式及其傅立葉這裏 https://en.wikipedia.org/wiki/Rectangular_function矩形函數的數值傅立葉變換
報道下面的代碼在Matlab
x = -3 : 0.01 : 3;
y = zeros(length(x));
y(200:400) = 1;
ffty = fft(y);
ffty = fftshift(ffty);
plot(real(ffty))
這裏的代碼在Python
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(-3, 3, 0.01)
y = np.zeros(len(x))
y[200:400] = 1
ffty = np.fft.fft(y)
ffty = np.fft.fftshift(ffty)
plt.plot(np.real(ffty))
在這兩種編程語言中,我都遇到了一些問題: 首先,傅里葉變換並不像預期的那樣真實,而且即使選擇真實的部分,解決方案看起來不像解析解決方案:事實上,這裏報告的第一個情節是至少應該是形狀,第二個情節是我從我的計算中得到的。
有沒有人可以建議我如何分析計算矩形函數的傅立葉變換?