我对老师在学生实验课中给我们的剧本有疑问。该脚本使用Python 2编写,并从mic.txt文件导入数据,执行FFT转换,然后绘制数据。我想拥有的是,脚本还将创建一个包含2列的txt文件,其中包含绘制的数据编号,以便我可以将结果用于进一步的分析。
[感谢您的帮助,马修
from scipy.fftpack import fft,ifft
import matplotlib.pyplot as plt
from scipy.signal import blackman
data = np.loadtxt("mic.txt")
x = data[:,0]
y = data[:,1]
fy = fft(y)
ft = np.fft.fft(y)
print np.sum(y),"==",fy[0]
n = len(x)
t = x[-1]
fx = np.linspace(0,n/t,n)
plt.plot(fx[0:n/2],np.abs(fy[0:n/2]))
plt.xlabel("frequency (Hz)")
plt.show()
提供两列的长度相等,您可以按如下所示将它们写入文本文件:
with open('text_file.txt','w') as f:
for a,b in zip(variable_1, variable_2):
f.write(str(a) + ',' + str(b) + '\n')
f.close()