列举一个时间序列数据得到的傅里叶系数的python案例
时间: 2024-03-22 22:36:54 浏览: 48
时间序列案例分析
以下是一个使用Python进行时间序列傅里叶分析的简单示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一个简单的正弦波时间序列
t = np.linspace(0, 1, 1000)
y = np.sin(2 * np.pi * 5 * t) + np.sin(2 * np.pi * 10 * t)
# 计算时间序列的傅里叶变换
fft_y = np.fft.fft(y)
n = len(y)
freq = np.fft.fftfreq(n, d=t[1]-t[0])
# 绘制时间序列和傅里叶变换结果的图像
fig, ax = plt.subplots(2, 1, figsize=(8, 6))
ax[0].plot(t, y)
ax[0].set_xlabel('Time')
ax[0].set_ylabel('Amplitude')
ax[1].plot(freq[:n//2], np.abs(fft_y[:n//2]))
ax[1].set_xlabel('Frequency')
ax[1].set_ylabel('Amplitude')
plt.show()
```
这段代码首先生成一个包含两个正弦波的时间序列,然后使用Numpy中的fft函数计算其傅里叶变换,最后绘制时间序列和傅里叶变换结果的图像。在图像中,上面一行是时间序列的图像,下面一行是傅里叶系数的图像,可以清晰地看到频率为5和10的正弦波在傅里叶系数中的振幅和相位。
阅读全文