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:
x
undy
sind Vektoren, die diex
- undy
-Koordinaten der Datenpunkte enthaltenn
ist 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)