P. Ueberholz Numerik f¨ur InformatikerInnen SS 2019
Ubungsblatt 8 ¨
Aufgabe 1 Eine Ableitung einer Funktion l¨asst sich ¨uber eine Differenz n¨ahern.
f′(x)≈ f(x+h)−f(x)
h == fh′(x)
Wie lauten die Werte f¨ur die Ableitung der Funktion f(x) =sin(x)beix=1 undh=10−i,i=1, . . . ,20?
Wie groß ist der relative Fehler(f′(x)−fh′(x))/f′(x)?
L ¨osung:
relative Fehler geht runter auf ungef¨ahr 0.0000005. Wirdhzu klein, wird der Wert 0.
h: 1.00000001e-01, sp= 0.497363746166,
sp_ex= 0.540302305868, sp_err= -0.079471361191 h: 9.99999978e-03, sp= 0.536085963249,
sp_ex= 0.540302305868, sp_err= -0.007803673190 h: 9.99999931e-04, sp= 0.539881467819,
sp_ex= 0.540302305868, sp_err= -0.000778893676 h: 9.99999902e-05, sp= 0.540260255337,
sp_ex= 0.540302305868, sp_err= -0.000077827784 h: 9.99999884e-06, sp= 0.540298104286,
sp_ex= 0.540302305868, sp_err= -0.000007776354 h: 9.99999884e-07, sp= 0.540301859379,
sp_ex= 0.540302305868, sp_err= -0.000000826369 h: 9.99999870e-08, sp= 0.540302276611,
sp_ex= 0.540302305868, sp_err= -0.000000054149 h: 9.99999905e-09, sp= 0.540302276611,
sp_ex= 0.540302305868, sp_err= -0.000000054149 h: 9.99999861e-10, sp= 0.540302336216,
sp_ex= 0.540302305868, sp_err= 0.000000056168 h: 9.99999875e-11, sp= 0.540302336216,
sp_ex= 0.540302305868, sp_err= 0.000000056168 h: 9.99999909e-12, sp= 0.540301203728,
sp_ex= 0.540302305868, sp_err= -0.000002039859 h: 9.99999888e-13, sp= 0.540345609188,
sp_ex= 0.540302305868, sp_err= 0.000080146465 h: 9.99999915e-14, sp= 0.539568424225,
sp_ex= 0.540302305868, sp_err= -0.001358279680 h: 9.99999898e-15, sp= 0.544009327888,
sp_ex= 0.540302305868, sp_err= 0.006861014621 h: 9.99999898e-16, sp= 0.555111587048,
P. Ueberholz Numerik f¨ur InformatikerInnen SS 2019
sp_ex= 0.540302305868, sp_err= 0.027409250374 h: 9.99999885e-17, sp= 0.000000000000,
sp_ex= 0.540302305868, sp_err= -1.000000000000 h: 9.99999901e-18, sp= 0.000000000000,
sp_ex= 0.540302305868, sp_err= -1.000000000000 h: 9.99999942e-19, sp= 0.000000000000,
sp_ex= 0.540302305868, sp_err= -1.000000000000
Aufgabe 2 Wie Sie numerisch gesehen habe, l¨asst sich eine Ableitung nicht ex- akt ausrechnen. Das Problem besteht aus zwei Teilen. Die Ableitung einer Funktion f kann an einem Punktx0numerisch nur durch einen Differenzen- quotienten, z.B.
f′(x0)≈Df(x0,h) = f(x0+h)−f(x0) h
f¨ur kleine positive Werte vonhberechnet werden. Jetzt ist die Frage, welche Werte f¨ur die sogenannte Schrittweitehgew¨ahlt werden sollten. W¨ahlt man sie zu groß, dann ist der Differenzenquotient aus analytischen Gr¨unden keine gute N¨aherung f¨ur die Ableitung. W¨ahlt man andererseitshzu klein, so gilt f(x0+h)≈ f(x0) und bei der Auswertung des Differenzenquotienten tritt Ausl¨oschung auf.
a) Zur N¨aherung von Funktionen und zur Absch¨atzung von Fehlern ist die Taylorentwicklung einer Funktion ein wesentliches Hilfemittel
f(x0+h) = f(x0) +
∞
∑
i=1
f(i)(x0)·hi i!.
Die einfachste Form ist der Mittelwertsatz der Differentialrechnung f(x0+h) = f(x0) + f′(z)·h, mit z∈[x0,x0+h]
oder
f(x0+h)−f(x0)
h = f′(z), mit z∈[x0,x0+h]
Anschaulich heißt das, dass die Verbindungsstrecke zwischen f(x0) und f(x0+h) die gleiche Steigung hat wie die Tangete an einer der Zwischenstellenz zwischenx0 undx0+h. In zweiter Ordnung lautet der Satz
f(x0+h) = f(x0) +f′(x0)·h+ 1
2!f′′(z)·h2, z∈[x0,x0+h]
Leiten Sie damit eine obere Schranke, abh¨angig von der Maschinenge- nauigkeitεmf¨ur den relativen Fehler
errrel=|f′(x0)−rd(Df(x0,h))|
|f′(x0)|
P. Ueberholz Numerik f¨ur InformatikerInnen SS 2019
her. Ber¨ucksichtigen Sie dabei sowohl den Rundungsfehler bei der Sub- traction also auch den Diskretisierungsfehler.
b) Verwenden Sie das Ergebnis, um in Abh¨angigkeit vonεM anzugeben, wie eine optimale Schrittweite h zu w¨ahlen ist, so dass der absolute Fehler minimiert wird.
L ¨osung:
a) Der Diskretisierungsfehler f¨ur die Ableitung ist
f′(x0) = f(x0+h)−f(x0)
h −h
2f′′(z) bzw.
f′(x0)−Df(x0,h) =
h 2f′′(z)
Der Rundungsfehler bei der Differenzbildung seiε. Damit gilt D˜f(x0,h) =Df(x0,h)(1+ε)
und der Rundungsfehler ergibt sich zu
D˜f(x0,h)−Df(x0,h) ≤
Df(x0,h)·ε
≤|f(x0+h)−f(x0)|
h ·εm
≤ |f(x0+h)|+|f(x0)|
h ·εm≈2|f(x0)|
h ·εm Insgesamt lautet damit der relative Fehler:
errrel =
D˜f(x0,h)−f′(x0) f′(x0)
≤|D˜f(x0,h)−Df(x0,h)|+|Df(x0,h)−f′(x0)|
|f′(x0)|
≤
2f(x0)εm f′(x0)h
+
f′′(z) 2f′(x0)·h
=c1εm h +c2·h
b) Der Fehler ist minimal, wenn die Ableitung vonδf′ nachhverschwin- det, also
errrel′ =−1
h2·c1·εm+c2=0 Daraus ergibt sich das optimalhzu
h= rc1
c2·εm