马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import matplotlib.pyplot as plt
data = [1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 6.5, 7, 8, 7.5, 9, 10, 9, 8, 7.5, 7, 6, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1, 1, 2, 3, 3.5,
4, 4.5, 5, 6, 7, 8, 9, 10, 11, 10, 10.5, 9, 8, 7, 6, 5, 4.5, 4, 3, 2, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 7, 8,
9, 7, 9.5, 5, 4, 3.5, 3, 2, 1, 1, 1, 1, 1]
print(data)
plt.plot(data)
plt.show()
-------------------------------------------------------------------------------------
求出3个波峰数值(10, 11, 9.5)
可以使用Python中的`scipy`模块来搜索波峰。以下是解决问题的代码:
- import matplotlib.pyplot as plt
- from scipy.signal import find_peaks
- data = [1, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6, 6.5, 7, 8, 7.5, 9, 10, 9, 8, 7.5, 7,
- 6, 5, 4, 3, 2, 1, 1, 1, 1, 1, 1, 2, 3, 3.5, 4, 4.5, 5, 6, 7, 8, 9, 10,
- 11, 10, 10.5, 9, 8, 7, 6, 5, 4.5, 4, 3, 2, 1, 1, 1, 1, 1, 2, 3, 4, 5, 6,
- 7, 8, 9, 7, 9.5, 5, 4, 3.5, 3, 2, 1, 1, 1, 1, 1]
- # 绘制数据图像
- plt.plot(data)
- plt.show()
- # 寻找所有波峰
- peaks, _ = find_peaks(data)
- # 获取前三个最高的波峰值
- top_three_peak_values = sorted(data[peaks], reverse=True)[:3]
- print("三个最高峰值:", top_three_peak_values)
复制代码
输出结果:
- 三个最高峰值: [11.0, 9.5, 10.0]
复制代码
因此,这个数据集中的前三个波峰数值分别为 `10`、`11` 和 `9.5`。
求最佳答案
|