python计算波峰波谷值的方法(极值点)


Posted in Python onFebruary 18, 2020

python求极值点主要用到scipy库。

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

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy import signal #滤波等

xxx = np.arange(0, 1000)
yyy = np.sin(xxx*np.pi/180)

z1 = np.polyfit(xxx, yyy, 7) # 用7次多项式拟合
p1 = np.poly1d(z1) #多项式系数
print(p1) # 在屏幕上打印拟合多项式
yvals=p1(xxx) 

plt.plot(xxx, yyy, '*',label='original values')
plt.plot(xxx, yvals, 'r',label='polyfit values')
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.legend(loc=4)
plt.title('polyfitting')
plt.show()

得到的图形是:

python计算波峰波谷值的方法(极值点)

2. 求波峰值,也就是极大值,得到:signal.find_peaks

# 极值
num_peak_3 = signal.find_peaks(yvals, distance=10) #distance表极大值点的距离至少大于等于10个水平单位
print(num_peak_3[0])
print('the number of peaks is ' + str(len(num_peak_3[0])))
plt.plot(xxx, yyy, '*',label='original values')
plt.plot(xxx, yvals, 'r',label='polyfit values')
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.legend(loc=4)
plt.title('polyfitting')
for ii in range(len(num_peak_3[0])):
 plt.plot(num_peak_3[0][ii], yvals[num_peak_3[0][ii]],'*',markersize=10)
plt.show()

python计算波峰波谷值的方法(极值点)

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

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

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

python计算波峰波谷值的方法(极值点)

4. 直接函数分别求极大值和极小值:signal.argrelextrema 函数

print(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, '*',label='original values')
plt.plot(xxx, yvals, 'r',label='polyfit values')
plt.xlabel('x axis')
plt.ylabel('y axis')
plt.legend(loc=4)
plt.title('polyfitting')
plt.plot(signal.argrelextrema(yvals,np.greater)[0],yvals[signal.argrelextrema(yvals, np.greater)],'o', markersize=10) #极大值点
plt.plot(signal.argrelextrema(yvals,np.less)[0],yvals[signal.argrelextrema(yvals, np.less)],'+', markersize=10) #极小值点
plt.show()

python计算波峰波谷值的方法(极值点)

总结

以上所述是小编给大家介绍的python计算波峰波谷值的方法(极值点),希望对大家有所帮助,也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python利用Beautiful Soup模块搜索内容详解
Mar 29 Python
Python实现获取命令行输出结果的方法
Jun 10 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 Python
Python编写一个优美的下载器
Apr 15 Python
python matplotlib绘图,修改坐标轴刻度为文字的实例
May 25 Python
python生成器推导式用法简单示例
Oct 08 Python
python文件读写代码实例
Oct 21 Python
PyTorch学习:动态图和静态图的例子
Jan 06 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
python实现信号时域统计特征提取代码
Feb 26 Python
Python自带的IDE在哪里
Jul 01 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
Sep 26 Python
Python表达式的优先级详解
Feb 18 #Python
使用Tkinter制作信息提示框
Feb 18 #Python
Python中import导入不同目录的模块方法详解
Feb 18 #Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
Feb 18 #Python
将pytorch转成longtensor的简单方法
Feb 18 #Python
python实现查找所有程序的安装信息
Feb 18 #Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 #Python
You might like
php获取数组长度的方法(有实例)
2013/10/27 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
基于jQuery的简单的列表导航菜单
2011/03/02 Javascript
javascript复制对象使用说明
2011/06/28 Javascript
jquery offset函数应用实例
2012/11/14 Javascript
简约JS日历控件 实例代码
2013/07/12 Javascript
js获取多个tagname的节点数组
2013/09/22 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
jquery图片滚动放大代码分享(1)
2015/08/25 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
基于Phantomjs生成PDF的实现方法
2016/11/07 Javascript
javascript容错处理代码(屏蔽js错误)
2017/01/20 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
详解nodeJS之二进制buffer对象
2017/06/03 NodeJs
Vue-cli中为单独页面设置背景色的实现方法
2018/02/11 Javascript
JS实现判断图片是否加载完成的方法分析
2018/07/31 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
2018/12/24 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
Vue实现随机验证码功能
2020/12/29 Vue.js
[52:26]完美世界DOTA2联赛决赛 FTD vs Phoenix 第一场 11.08
2020/11/11 DOTA
Python操作列表之List.insert()方法的使用
2015/05/20 Python
Python设计模式之组合模式原理与用法实例分析
2019/01/11 Python
set在python里的含义和用法
2019/06/24 Python
python实现大文本文件分割
2019/07/22 Python
python 下载文件的几种方法汇总
2021/01/06 Python
SQL里面IN比较快还是EXISTS比较快
2012/07/19 面试题
干部行政关系介绍信
2014/01/17 职场文书
招商专员岗位职责
2014/02/08 职场文书
采购部经理岗位职责
2014/02/10 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
经济国贸专业求职信
2014/06/18 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
红歌会主持词
2015/07/02 职场文书
工程主管竞聘书
2015/09/15 职场文书