Files
sf-op/script/CPython/extremum.py
voulot_d ef416da30d Startup
2017-08-15 12:12:09 +02:00

19 lines
385 B
Python

import numpy as np
def extremum(x, y):
"""
Return extremum coordinates of quadratic fit
"""
p = np.polyfit(x, y, 2)
f = np.poly1d(p)
if p[0] != 0:
x_ext = -p[1]/2/p[0]
y_ext = f(x_ext)
else:
x_ext = None
y_ext = None
x_fit = np.linspace(min(x), max(x), 100)
y_fit = f(x_fit)
return (x_ext, y_ext, x_fit, y_fit)