想請教各位前輩該如何用python寫傅立葉轉換?
(如: 波長方波 -> 時域)
以下是程式碼:
import numpy as np
import seaborn
from matplotlib import pyplot as plt
from scipy.fftpack import fft
x = np.linspace(-100,100, 1000)
y = np.array([1 if abs(t)<=50 else 0 for t in x])
yf = np.fft.fft(y)
xf = np.linspace(-4*np.pi,4*np.pi,1000)
#背景格線
plt.grid(color = 'black', linestyle = '--', linewidth = 0.5)
#方波
plt.plot(xf,abs(yf))
plt.savefig('wronganswer.png')
plt.show()
希望能跑出波浪狀的圖 (如圖)
但如果用fft會跑出另一種圖片(如圖)
請問該如何撰寫會比較好?