使用python怎么计算波峰波谷值

  介绍

使用python怎么计算波峰波谷值?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1。首先可先选择一个函数或者拟合一个函数,这里选择拟合数据:np。polyfit

import  pandas  as  pd   import  matplotlib.pyplot  as  plt   import  numpy  as  np   得到scipy  import  signal  #滤波等      时间=xxx  np.arange (0, 1000)   时间=yyy  np.sin (xxx * np.pi/180)      时间=z1  np.polyfit (xxx,多,,7),#,用7次多项式拟合   时间=p1  np.poly1d (z1), #多项式系数   打印(p1), #,在屏幕上打印拟合多项式   yvals=p1 (xxx),      plt.plot (xxx, yyy, & # 39; * & # 39;,标签=& # 39;original 价值观# 39;)   plt.plot (xxx, yvals, & # 39; " # 39;,标签=& # 39;polyfit 价值观# 39;)   plt.xlabel (& # 39; x 轴# 39;)   plt.ylabel (& # 39; y 轴# 39;)   plt.legend (loc=4)   plt.title (& # 39; polyfitting& # 39;)   plt.show ()

得到的图形是:

使用python怎么计算波峰波谷值

2。求波峰值,也就是极大值,得到:信号。find_peaks

#,极值   时间=num_peak_3  signal.find_peaks (yvals,,距离=10),#距离表极大值点的距离至少大于等于10个水平单位   print (num_peak_3 [0])   打印(& # 39;从而,number  of  peaks  is  & # 39;, +, str (len (num_peak_3 [0])))   plt.plot (xxx, yyy, & # 39; * & # 39;,标签=& # 39;original 价值观# 39;)   plt.plot (xxx, yvals, & # 39; " # 39;,标签=& # 39;polyfit 价值观# 39;)   plt.xlabel (& # 39; x 轴# 39;)   plt.ylabel (& # 39; y 轴# 39;)   plt.legend (loc=4)   plt.title (& # 39; polyfitting& # 39;)   for  ii 拷贝范围(len (num_peak_3 [0])):   ,plt.plot (num_peak_3 [0] [2], yvals [num_peak_3 [0] [2]], & # 39; * & # 39;, markersize=10)   plt.show ()

使用python怎么计算波峰波谷值

3。在可导的情形下,可以求导来求极值点,同时得到极大值和极小值点:np。polyder

yyyd =, np.polyder (p1, 1), #, 1表示一阶导   打印(yyyd)

此时:yyyd。r即可就得导数为0的点,可以与上述的极大值点对应比较

使用python怎么计算波峰波谷值

4。直接函数分别求极大值和极小值:信号。argrelextrema函数

打印(yvals [signal.argrelextrema (yvals, np.greater)]), #极大值的y轴,yvals为要求极值的序列   print (signal.argrelextrema (yvals, np.greater)), #极大值的x轴   时间=peak_ind  signal.argrelextrema (yvals np.greater)[0], #极大值点,改为np.less即可得到极小值点   plt.plot (xxx, yyy, & # 39; * & # 39;,标签=& # 39;original 价值观# 39;)   plt.plot (xxx, yvals, & # 39; " # 39;,标签=& # 39;polyfit 价值观# 39;)   plt.xlabel (& # 39; x 轴# 39;)   plt.ylabel (& # 39; y 轴# 39;)   plt.legend (loc=4)   plt.title (& # 39; polyfitting& # 39;)   plt.plot (signal.argrelextrema (yvals np.greater) [0], yvals [signal.argrelextrema (yvals, np.greater)], & # 39; o # 39;,, markersize=10), #极大值点   plt.plot (signal.argrelextrema (yvals np.less) [0], yvals [signal.argrelextrema (yvals, np.less)], & # 39; + & # 39;,, markersize=10), #极小值点   plt.show ()

使用python怎么计算波峰波谷值

python主要用来做什么

python主要应用于:1,网络开发;2、数据科学研究;3,网络爬虫;4、嵌入式应用开发,5日游戏开发;6桌面应用开发。

关于使用python怎么计算波峰波谷值问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

使用python怎么计算波峰波谷值