AuK/Hilfsmittel Mathematik 1 WS13-14

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

'''<b>Autoren:</b>'''
 Andre Krause s3ankrau@stud.hszg.de
 Roman Stange s3rostan@stud.hszg.de

==Approximation von Funktionen==
[[Bild:S3ankrau_Diagram1.JPG|right|thumb|300px|Palindrom Vergleichsalgorhitmus]]
'''Motivation:'''

Die Erfahrungen und Beobachtungen haben bereits gezeigt, dass bei grafischen Auswertungen der Effizienz (Verhältnis der untersuchten Größe zur Zeit), mit Hilfe der Darstellung in einem karthesischen Koordinatensystem nur selten glatte Funktionsgraphen auftreten (s. Übung 1 - Palindrom-Vergleichsalgorhitmus). Die vielen gesammelten Messpunkte passen mehr oder weniger gut zu einer theoretischen Funktion, die fehlinterpretiert werden kann. Aus diesem Grund wird die optimalste Funktion gesucht, die sich den gegebenen Wertepaaren am genauesten annähert. Diese mathematische Annäherung wird als Approximation bezeichnet. Dafür wendet man mathematische Regeln (z.B. Exponentialfunktion)an, aber auch geeignete Software (z.B. CAS), um die optimale Approximationsfunktion zu ermitteln. 


===Exponentialfunktionen===

Beispiel: <math>y = a \cdot e^{bx}</math>

Bei physikalischen Experimenten werden Werte für <math>x</math> vorgegeben und solche für <math>y</math> gemessen. Trägt man <math>y</math> gegen <math>x</math> auf, so kann man die Konstante <math>a</math> im Prinzip leicht bestimmen, indem man eine Kurve durch die Messpunkte zeichnet und ihren Schnittpunkt mit der y-Achse bei <math>x=0</math> abliest (für <math>x=0</math> ist <math>y = a \cdot e^0 = a</math>). In der Praxis erfordert das allerdings schon einiges zeichnerisches Geschick. Den Wert der Konstanten <math>b</math> aber wird man höchstens grob abschätzen können. Einfacher und genauer sind <math>a</math> und <math>b</math> zu bestimmen, wenn nicht <math>y</math>, sondern der Logarithmus <math>\ln(y)</math> gegen <math>x</math> aufgetragen wird. 

Aus der Gleichung <math>y = a \cdot e^{bx}</math> wird durch Logarithmieren nämlich <math>\ln(y) = \ln(a \cdot e^{bx}) = \ln(a) + \ln(e \cdot bx) = \ln(a) + bx</math>

Man erhält eine Geradengleichung. Im Diagramm ergibt sich eine Gerade mit der Steigung b, welche die Ordinate für <math>x=0</math> im Punkt <math>\ln(a)</math> schneidet. Die Gerade ist einfacher zu zeichnen, und ihre Steigung durch ein Steigungsdreieck leicht zu bestimmen. 

{|class="wikitable" style="border: 2px solid lightgray; float: left; margin:10px 10px 1em 1em; padding-right: 10px;"
! colspan="3"|Wertetabelle für <math> y = 2 \cdot e^x  </math>
|-
|'''<math>x</math>'''
|'''<math>y</math>'''
|'''<math>\ln (y)</math>'''
|-
|0
|2,0
|0,69
|-
|1
|5,4
|1,69
|-
|2
|14,8
|2,69
|-
|3
|40,2
|3,69
|-
|4
|109,2
|4,69 
|}

====Lineare Regression====

Im vorangegangenen Abschnitt wurde die Ermittlung der gesuchten Gerade durch einsetzen von Wertepaaren in ein Koordinatensystem mit logarithmischer y-Achse behandelt. Diese Methode ist jedoch nicht hundertprozentig genau. Deshalb ist es notwendig, die approximierte Gerade durch die so genannte lineare Regression näher zu bestimmen.

<div style="color:black; background-color:lightcoral; border:1px dotted orangered;">
Die lineare Regression ist eine mathematische Hilfsmethode, um eine Gerade, die sich den vorhandenen Messpunkten am besten annähert, zu ermitteln.
</div>

Die zugehörige Geradengleichung lautet:

<div><math>y = f(n) = a \cdot n + b</math>
(a steht für die Steigung der Geraden, b für den Schnittpunkt mit der y-Achse)</div>

Damit sich die Gerade möglichst nah an den verstreuten Messpunkten befindet, muss der maximale Abstand zu den Wertepunkten minimal sein.

<math>\max\mid T(n) - (a\cdotn+b)\mid \rightarrow minimal</math>

Sollte es jedoch den Fall geben, dass es ein oder mehrere Wertepaare gibt, die sich relativ weit von den übrigen befinden, wird die gesuchte Regressionsgerade sehr ungenau. Daher wird die gegebene Gleichung wie folgt angepasst.

<math>\sum_{n} \mid T(n) - (a\cdotn+b)\mid \rightarrow minimal</math>

Das bedeutet, dass nun die Summe aller Abstände minimal sein soll. Dadurch verlieren die größeren Abstände, die vorher ein Problem hätten darstellen können, an Gewichtung. Hieraus entsteht jedoch ein neues Problem: Zur Ermittlung des Minimums ist die 1. Ableitung der Summe nötig. Die Betragsfunktion ist für <math>x=0</math> jedoch nicht differenzierbar.

Zur Eliminierung dieses Problems wird die Methode der kleinsten Fehlerquadrate nach Gauss genutzt. Dadurch wird der Umstand der Differenzierbarkeit gelöst, das Minimum aber nicht beeinflusst.

<math>\sum_{n} (T(n) - (a\cdot n+b))^2 \rightarrow minimal</math>

Um nun das Minimum zu erhalten, ist es notwendig, die erste Ableitung gleich 0 zu setzen.

Nach a abgeleitet:
<math>2\codt\sum_{n=1}^{r} (T(n) - (a\cdot n+b))\cdot(-n) \stackrel{!}{=} 0</math>

Nach b abgeleitet:
<math>2\codt\sum_{n=1}^{r} (T(n) - (a\cdot n+b))\cdot(-1) \stackrel{!}{=} 0</math>

Durch Umformung erhält man anschließend die sogenannte Normalgleichungen.

<math>2\codt\sum_{n=1}^{r} (T(n) - (a\cdot n+b))\cdot(-n) = 2\codt\sum_{n=1}^{r} (T(n) - (a\cdot n+b))\cdot(-1)</math><br><br>
<math>a \sum_{n=1}^{r}n^2 + b \sum_{n=1}^{r}n = \sum_{n=1}^{r}n \cdot T(n)</math><br><br>
<math>a \sum_{n=1}^{r}n + r \cdot b = \sum_{n=1}^{r}T(n)</math><br><br>

Für die Geradengleichung wird nun nach a bzw. nach b umgestellt.<br><br>
<math>a \sum_{n=1}^{r}n + r \cdot b = \sum_{n=1}^{r}T(n)</math><br><br>
<math>r \cdot b = \sum_{n=1}^{r}T(n) - a \sum_{n=1}^{r}n</math><br><br>
<math>b = \frac{\sum \limits _{n=1}^{r}T(n) - a \sum \limits _{n=1}^{r}n}{r}</math><br><br>
<math>a \sum_{n=1}^{r}n^2 + \left(\frac{\sum \limits _{n=1}^{r}T(n) - a \sum \limits _{n=1}^{r}n}{r}\right) \cdot \sum_{n=1}^{r}n = \sum_{n=1}^{r}n \cdot T(n)</math><br><br>
<math>\frac{r \cdot a \sum \limits _{n=1}^{r}n^2 + \sum \limits _{n=1}^{r}n \cdot \left(\sum \limits _{n=1}^{r}T(n) - a \sum \limits _{n=1}^{r}n\right)}{r} = \sum_{n=1}^{r}n \cdot T(n)</math><br><br>
<math>r \cdot a \sum \limits _{n=1}^{r}n^2 + \sum \limits _{n=1}^{r}n \cdot \left(\sum \limits _{n=1}^{r}T(n) - a \sum \limits _{n=1}^{r}n\right) = r \cdot \sum_{n=1}^{r}n \cdot T(n)</math><br><br>
<math>r \cdot a \sum \limits _{n=1}^{r}n^2 + \sum \limits _{n=1}^{r}n \cdot \sum \limits _{n=1}^{r}T(n) - a {\left(\sum \limits _{n=1}^{r}n\right)}^2 = r \cdot \sum_{n=1}^{r}n \cdot T(n)</math><br><br>
<math>r \cdot a \sum \limits _{n=1}^{r}n^2 - a {\left(\sum \limits _{n=1}^{r}n\right)}^2 = r \cdot \sum_{n=1}^{r}n \cdot T(n) - \sum \limits _{n=1}^{r}n \cdot \sum \limits _{n=1}^{r}T(n)</math><br><br>
<math>a \cdot \left(r \cdot \sum \limits _{n=1}^{r}n^2 - {\left(\sum \limits _{n=1}^{r}n\right)}^2\right) = r \cdot \sum_{n=1}^{r}n \cdot T(n) - \sum \limits _{n=1}^{r}n \cdot \sum \limits _{n=1}^{r}T(n)</math><br><br>

Daraus ergeben sich die Formeln für a und b. Mit den gegebenen Messwerten kann anschließend die Regressionsgerade berechnet werden.<br><br>
<math>a = \frac{r \cdot \left(\sum \limits _{n=1}^{r}n \cdot T(n)\right) - \sum \limits _{n=1}^{r}n \cdot \sum \limits _{n=1}^{r}T(n)}{r \cdot \sum \limits _{n=1}^{r}n^2 - {\left(\sum \limits _{n=1}^{r}n\right)}^2}</math><br><br>
<math>b = \frac{\left(\sum \limits _{n=1}^{r}n^2\right) \cdot \left(\sum \limits _{n=1}^{r}T(n)\right) - \left(\sum \limits _{n=1}^{r}n \cdot T(n)\right)\cdot \sum \limits _{n=1}^{r}n}{r \cdot \sum \limits _{n=1}^{r}n^2 - {\left(\sum \limits _{n=1}^{r}n\right)}^2}</math><br><br>

====Beispiel====
Mit gegebenen Wertepaaren kann nun die Regressionsgerade durch einsetzen in die im vorigen Abschnitt hergeleiteten Formeln berechnet werden.
Für dieses Beispiel werden folgende Wertepaare angenommen:

{|class="wikitable" style="border: 2px solid lightgray; margin:10px 10px 1em 1em; padding-right: 10px;"
! colspan="2"|Wertepaare
|-
|'''<math>n</math>'''
|'''<math>T(n)</math>'''
|-
|1
|10
|-
|2
|16
|-
|3
|12
|-
|4
|18
|-
|5
|8
|-
|6
|14 
|}

Nun werden die einzelnen Summen berechnet, um die Werte später besser in die Gleichung einsetzen zu können.

<math>r</math> ist in diesem Beispiel die Anzahl der Wertepaare, also 6.

<math>\sum_{n=1}^r n \cdot T(n) = (1\cdot10) + (2\cdot16) + (3\cdot12) + (4\cdot18) + (5\cdot8) + (6\cdot14) = 274</math><br><br>
<math>\sum_{n=1}^r n = 1 + 2 + 3 + 4 + 5 + 6 = 21</math><br><br>
<math>\sum_{n=1}^r n^2 = 1^2 + 2^2 + 3^2 + 4^2 + 5^2 + 6^2 = 91</math><br><br>
<math>\sum_{n=1}^r T(n) = 10 + 16 + 12 + 18 + 8 + 14 = 78</math><br><br>

Die berechneten Summen werden nun in die Gleichungen für a und b eingesetzt.

<math>a = \frac{6\cdot274 - 21\cdot78}{6\cdot91 - 21^2} = 0,06</math><br><br>
<math>b = \frac{91\cdot78 - 274\cdot21}{6\cdot91 - 21^2} = 12,8</math><br><br>

Daraus ergibt sich folgende Regressionsgerade:

<math>f(n) = 0,06\codt n + 12,8</math>

===Polynomfunktionen===
Im Abschnitt über die Approximation von Exponentialfunktionen wurde bereits festgestellt, dass man ein sehr gutes Ergebnis erreicht, wenn die y-Achse logarithmiert wird. Es wäre also eine Überlegung wärt, dies auch auf Polynomfunktionen anzuwenden.

Im folgenden wird die Funktion <math>f(x) = 3\cdot x^2</math> mit einer logarithmierten y-Achse geplottet.

[[Bild:S3ankrau_Plot_polynom1.JPG]]

Wie man an dieser Abbildung erkennen kann, führt allein die logarithmierung der y-Achse nicht zu einer Geraden.

[[Bild:S3ankrau_Plot_polynom2.JPG]]

==Übungsaufgaben==
Text

===Lösungen===
Text