Gegeven is een reeks gemeten punten $$y_i$$ als functie van $$x_i$$ ($$0 \le i < N$$). We vermoeden dat er een polynomiaal verband bestaat tussen de grootheid $$y$$ en $$x$$, m.a.w. (op kleine meetfouten na)
$$ y_i = \sum_{j=0}^{M} w_j (x_i)^j $$
, waarbij we de ongekende veeltermcoëfficiënten $$w_j$$ uit de opgemeten gegevens wensen te bepalen.

Om de coëfficiënten $$w$$ te vinden, gaan we als volgt tewerk:

Schrijf de functie polynoom_fit() met als argumenten

Het resultaat van de functie is een NumPy-rij die de veeltermcoëfficiënten bevat, zoals hierboven aangegeven geconstrueerd.

Voorbeeld

Merk op dat het Dodonascript je resultaat omzet naar een lijst. Het resultaat van je functie moet wel degelijk een 1D NumPy-rij zijn. De numerieke waarden worden ook afgekapt op 4 decimalen.

polynoom_fit(np.array([0.8, -8.7, -1.0, -3.0, 1.1, -5.6, 4.4, 9.0]), np.array([1.7811199999999996, -174052.2218799999, 2.0, -568.0, 6.444440000000001, -17490.688639999993, 7703.471360000002, 259292.0]), 6)
#[1.9999, 0.9999, -2.9999, -3.9999, 3.9999, 3.9999]
polynoom_fit(np.array([7.0, -4.1, -7.2, 3.5, -6.5, 5.3, -0.6, -9.2, -1.6, -7.5]), np.array([-31.0, 24.5, 40.0, -13.5, 36.5, -22.5, 7.0, 50.0, 12.0, 41.5]), 2)
#[3.9999, -5.0]