Frage: Ich habe einige Datenpunkte gegeben (im Code im X und Y Array einsehbar) und soll hieraus ein Lagrange-Polynom dritter Ordnung bilden. Gesagt, getan, allerdings weiß ich nicht wie ich es mir nun ausgeben bzw printen kann? Vielen Dank im Voraus!
Code:
import numpy as np
import matplotlib.pyplot as plt
class LagrangePoly:
def __init__(self, X, Y):
self.n = len(X)
self.X = np.array(X)
self.Y = np.array(Y)
def basis(self, x, j):
b = [(x - self.X[m]) / (self.X[j] - self.X[m])
for m in range(self.n) if m != j]
return np.prod(b, axis=0) * self.Y[j]
def interpolate(self, x):
b = [self.basis(x, j) for j in range(self.n)]
return np.sum(b, axis=0)
X = [0, 2, 5, 6]
Y = [0, 2, -3, 1]