python求函数最值的方法_python计算波峰波谷值的方法(极值点)

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()

得到的图形是:

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

# 极值

num_peak_3 = signal.fin

你可能感兴趣的:(python求函数最值的方法)