Hauptinhalt

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 und y sind Vektoren, die die x- und y-Koordinaten der Datenpunkte enthalten

  • n 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)

Figure contains an axes object. The axes object contains 3 objects of type line, text. One or more of the lines displays its values using only markers

Siehe auch

|

Themen