polyfit
Polynomiale Kurvenanpassung
Beschreibung
[
verbessert durch Zentrierung und Skalierung die numerischen Eigenschaften des polynomialen Algorithmus und des Anpassungsalgorithmus. Diese Syntax gibt zusätzlich p
,S
,mu
] = polyfit(x
,y
,n
)mu
zurück. Dabei handelt es sich um einen aus zwei Elementen bestehenden Vektor mit Zentrierungs- und Skalierungswerten. mu(1)
ist mean(x)
und mu(2)
ist std(x)
. polyfit
zentriert mithilfe dieser Werte x
bei null und skaliert den Wert, um die Standardabweichung der Einheiten zu ermitteln,
Beispiele
Eingabeargumente
Ausgabeargumente
Einschränkungen
Bei Problemen mit vielen Punkten führt die Erhöhung des Grades der polynomialen Anpassung mithilfe von
polyfit
nicht immer zu einer besseren Anpassung. Polynome hoher Ordnung können zwischen den Datenpunkten oszillieren und zu einer schlechteren Anpassung an die Daten führen. In diesen Fällen können Sie abhängig vom Problem eine polynomiale Anpassung niedriger Ordnung (die in der Regel zwischen den Punkten glatter ist) oder eine andere Technik verwenden.Polynome sind naturgemäß unbeschränkte, oszillatorische Funktionen. Daher sind sie nicht besonders gut für die Extrapolation begrenzter oder monotoner (ansteigend oder abfallend) Daten geeignet.
Algorithmen
polyfit
verwendet x
, um die Vandermonde-Matrix V
mit n+1
Spalten und m = length(x)
Zeilen zu bilden, die das folgende lineare System ergibt,
das polyfit
mit p = V\y
löst. Da die Spalten in der Vandermonde-Matrix Potenzen des Vektors x
sind, ist die Konditionszahl von V
für Anpassungen hoher Ordnung oft groß, sodass sich eine singuläre Koeffizientenmatrix ergibt. In diesen Fällen können die numerischen Eigenschaften des Systems durch Zentrierung und Skalierung verbessert werden, sodass die Anpassung zuverlässiger wird.
Erweiterte Fähigkeiten
Versionsverlauf
Eingeführt vor R2006a