Anpassung von Polynomkurven
Dieses Beispiel zeigt, wie Sie mit der polyfit-Funktion eine Polynomkurve an eine Reihe von Datenpunkten anpassen können. Sie können mit polyfit die Koeffizienten eines Polynoms finden, das zu einem Datensatz im Sinne der kleinsten Quadrate passt, indem Sie die folgende Syntax verwenden:
p = polyfit(x,y,n),
wobei gilt:
xundysind Vektoren, die diex- undy-Koordinaten der Datenpunkte enthaltennist der Grad des Polynoms, das angepasst werden soll
Erstellen Sie einige x-y-Testdaten für fünf Datenpunkte.
x = [1 2 3 4 5]; y = [5.5 43.1 128 290.7 498.4];
Bestimmen Sie mit polyfit ein Polynom dritten Grades, das ungefähr zu den Daten passt.
p = polyfit(x,y,3)
p = 1×4
-0.1917 31.5821 -60.3262 35.3400
Nachdem Sie mit polyfit das Polynom für die Anpassungsgerade bestimmt haben, können Sie es mit polyval an weiteren Punkten auswerten, die möglicherweise nicht in den ursprünglichen Daten enthalten waren.
Berechnen Sie die Werte der polyfit-Schätzung über einen feineren Bereich und plotten Sie die Schätzung zum Vergleich über die realen Datenwerte. Fügen Sie die Gleichung der Anpassungslinie als Anmerkung hinzu.
x2 = 1:.1:5; y2 = polyval(p,x2); plot(x,y,'o',x2,y2) grid on s = sprintf('y = (%.1f) x^3 + (%.1f) x^2 + (%.1f) x + (%.1f)',p(1),p(2),p(3),p(4)); text(2,400,s)
