Näherungsfunktion für eine Kurve ermitteln!

Hallo Zusammen,
ich habe folg. Problemstellung:
Ich habe eine Kurve mit 4 Punkte. Ich soll die Kurve durch eine Funktion näherungsweise beschreiben. Die Funktion soll die Form f(x)= Ax²+Bx haben!
Wie ermittle Ich die Faktoren A und B?
Die Kurve hat folg. Punkte bzw. Wertepaare:
x-----> f(x)
0,1—>1318
0,5—>30179
2 ---->472143
5 —>2929973

ich erinnere mich im Studium haben wir damals im Fach „Numerik für Ingenieure“ so was gelöst. Leider ist es jetzt lange her und ich habe es einfach vergessen!
Bitte um Ihre Unterstützung!
Vielen Dank

Also bei einer geraden arbeitet man mit den kleinsten Quadraten.

bei einer quadratischen Funktion wird man wohl die Methoden der kleinsten Kuben benutzen???

Oder seh ich das grad falsch?

Hallo Safrael,

nee, das siehst du falsch. Bei der quadratischen Parabel arbeitet man auch mit den Quadraten der Fehler. Es geht ja darum, die Summe der Fehler zu minimieren. Die Fehler können aber positiv und negativ sein. Dadurch könnte man auch bei einer völlig falschen Anpassung zu einer sehr kleinen Fehlersumme kommen. Um das zu vermeiden benutzt mand die Quadrate der Fehler.
Google mal nach „quadratische regression“

Gruß, Andreas

Hallo Atef,

im Prinzip geht’s genau wie bei der linearen Regression. Du hast bei der Parabel bloß eine Gleichung mehr. Google mal nach „quadratische regression“.

Gruß, Andreas

Hossa Atef :smile:

Du hast 4 Messpunkte vorgegeben:

(x_1 ; y_1)=(0.1 ; 1318 )
(x_2 ; y_2)=(0.5 ; 30179 )
(x_3 ; y_3)=(2.0 ; 472143 )
(x_4 ; y_4)=(5.0 ; 2929973 )

Deine Vermutung ist, dass diese 4 Punkte näherungsweise durch eine Kurve der folgenden Form beschrieben werden:

f(x)=ax^2+bx

Du möchtest nun a und b so bestimmen, dass die Funktion f(x) möglichst gut zu deinen Messpunkten passt.

Der goldene Standard hierfür ist die Gauß’sche Methode der kleinsten Fehlerquadrate. Dabei nimmt man die an der Stelle x_i berechneten Werte f(x_i) und subtrahiert sie von den realen Messwerten y_i.

f(x_i)-y_i

Die Differenzen werden quadriert (=> stärkere Gewichtung von großen Abweichungen und Gleichbehandlung von Abweichungen nach oben wie nach unten)

\left[f(x_i)-y_i\right]^2

und dann für alle n Messpunkte addiert (bei dir ist n=4):

\sum_{i=1}^{n}\left[f(x_i)-y_i\right]^2

Gauß hat nun nachgewiesen, dass die Funktion f(x) möglichst gut zu den Messpunkten passt, wenn diese Fehlersumme minimal ist! Die einzigen Parameter, die wir hierzu verändern können, sind a und b, weil die Funktion f(x) von a und b abhängt. Die Fehlersumme bezeichnen wir mit F(a,b) und schreiben die Gauß’sche Bedingung auf:

F(a,b)=\sum_{i=1}^{n}\left[f(x_i,a,b)-y_i\right]^2\to\mbox{Min!}

Diese Funktion hängt von a und b ab. Um die Extrema zu finden, müssen sowohl die partielle Ableitung nach a als auch die partielle Ableitung nach b gleich Null sein. Andernfalls gäbe es noch einen Veränderung von F(a,b) in a-Richtung oder in b-Richtung.

0=\frac{\partial}{\partial a}F(a,b)=\sum_{i=1}^{n}2\left[f(x_i,a,b)-y_i\right]\frac{\partial f(x_i,a,b)}{\partial a}=\sum_{i=1}^{n}2\left[ax_i^2+bx_i-y_i\right]x_i^2

0=\frac{\partial}{\partial b}F(a,b)=\sum_{i=1}^{n}2\left[f(x_i,a,b)-y_i\right]\frac{\partial f(x_i,a,b)}{\partial b}=\sum_{i=1}^{n}2\left[ax_i^2+bx_i-y_i\right]x_i

Jetzt hast du 2 Gleichungen für 2 unbekannte Parameter gefunden. Dividiert du nun jeweils beide Seiten durch 2 und stellst die Summen etwas um, erhält du:

a\sum_{i=1}^{n}x_i^4+b\sum_{i=1}^{n}x_i^3=\sum_{i=1}^{n}y_ix_i^2

a\sum_{i=1}^{n}x_i^3+b\sum_{i=1}^{n}x_i^2=\sum_{i=1}^{n}y_ix_i

Berechnet man die Summen für deine 4 Punkte, so erhält man:

a\cdot641.0626+b\cdot133.126=75145454.93

a\cdot133.126+b\cdot29.26=15609372.3

Dieses Gleichungssystem aufgelöst nach a und b ergibt:

a=116664.1588\quad;\quad b=2677.358091

bzw. für deine Funktion:

f(x)=116664.1588\cdot x^2+2677.358091\cdot x

Diese Formel liefert nun gerundet (in Klammern die Messwerte zum Vergleich):

(x_1 ; y_1)=(0.1 ; 1434 [1318] )
(x_2 ; y_2)=(0.5 ; 30505 [30179] )
(x_3 ; y_3)=(2.0 ; 472011 [472143] )
(x_4 ; y_4)=(5.0 ; 2929991 [2929973] )

Wie viele gültige Stellen bei den ermittelten Werten für a und b sinnvoll sind, musst du anhand deines Versuchsaufbaus noch entscheiden.

Ich hoffe, dir ein wenig geholfen zu haben.

Viele Grüße

Hasenfuß

Für Deinen speziellen Fall hat Hasenfuß das ja schon sehr schön vorgerechnet. Man kann es aber noch auf Funktionen des folgenden Typs verallgemeinern:

F\left( x \right) = \sum\limits_i {p_i \cdot f_i \left( x \right)}

In Deinem Fall wäre dann beispielsweise f1(x)=x² und f2(x)=x. Mit

\vec f_k : = \begin{pmatrix}
{f_1 \left( {x_k } \right)} \cr
\vdots \cr
{f_n \left( {x_k } \right)} \cr
\end{pmatrix}

sieht die Fehlerquadratsummenminimierung in Matrixschreibweise so aus:

\sum\limits_k {\left[{f_k^T p - y_k } \right]} ^2 \Rightarrow Min.

Die Ableitung nach den Parametern ergibt dann:

\sum\limits_k {f_k \left[{f_k^T p - y_k } \right]} = 0

und das lässt sich bequem nach den Parametern umstellen:

p = \left( {\sum\limits_k {f_k f_k^T } } \right)^{ - 1} \sum\limits_k {f_k y_k }

Wenn ich Deine Funktionen einsetze komme ich damit zum selben Gleichungssystem wie Hasenfuß:

p = \begin{pmatrix}
{\sum\limits_k {x_k^4 } } & {\sum\limits_k {x_k^3 } } \cr
{\sum\limits_k {x_k^3 } } & {\sum\limits_k {x_k^2 } } \cr

\end{pmatrix}^{ - 1} \begin{pmatrix}
{\sum\limits_k {x_k^2 y_k } } \cr
{\sum\limits_k {x_k y_k } } \cr

\end{pmatrix}

Wenn man ein Programm hat, das Matrizen invertieren kann (das kann sogar Excel), muss man das noch nicht einmal weiter auflösen.

Vielen Dank an alle für die Unterstützung!
MfG
Atef