Question

I have some 2D sampling points for which I need the polynomial equation. I only found something like this:

from scipy.interpolate import barycentric_interpolate
// x and y are given as lists
yi = barycentric_interpolate(x, y, xi)

But in this case I can only get the y-values belonging to certain xi-values - that's not what I want. I need the equation (the parameter for the polynomial equation). How can I receive this?

Was it helpful?

Solution

numpy.polyfit

Fit a polynomial p(x) = p[0] * x**deg + ... + p[deg] of degree deg to points (x, y). Returns a vector of coefficients p that minimises the squared error.

Example from the docs:

>>> x = np.array([0.0, 1.0, 2.0, 3.0,  4.0,  5.0])
>>> y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
>>> z = np.polyfit(x, y, 3)
>>> z
array([ 0.08703704, -0.81349206,  1.69312169, -0.03968254])

OTHER TIPS

with scipy.optimize.curve_fit one can fit arbitrary functions and obtain its coefficients

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top