Num Erik
Num Erik
Num Erik
Rosenheinrich
Fachbereich Grundlagenwissenschaften
Fachhochschule Jena
15.06.2009
x1 := a; x2 := b;
x0 := (x1 + x2 )/2;
Falls f (x0 ) < 0 dann x1 := x0 und gehe zu 1;
Falls f (x0 ) > 0 dann x2 := x0 und gehe zu 1;
Ausgabe x0 ; Halt;
Aufgabe 2: Es sei f (x) definiert auf [a, b] mit a < b; gesucht ist (fr ein natrliches n) die
Summe
n
X
ba
.
Sn =
f a+k
n
k=0
Programm:
1:
h := (b a)/n; x := a; s := 0;
s := s + f (x); x := x + h;
Falls x = b dann Ausgabe s + f (b) und Halt, ansonsten gehe zu 1;
Aufgabe 3: wie 2.
Programm:
1:
h := (b a)/n; x := a; s := 0;
s := s + f (x); x := x + h;
Falls x > b dann Ausgabe s und Halt, ansonsten gehe zu 1;
237
Y
k+x
k + 0.5
k=0
Programm:
Eingabe x; Z := 1; N := 1;
fr k := 0 mit Schrittweite 1 bis 237 mache Z := (k + x) Z und N := (k + 0.5) N ;
f := Z/N ; Ausgabe f ; Halt;
Aufgabe 5: Man berechne den Wert des Polynoms (n und ak gelten als eingegeben):
f (x)
n
X
k=0
Programm:
1
ak xk
Eingabe x; f := 0;
fr k := 0 mit Schrittweite 1 bis n mache f := f + ak exp(k ln(x));
Ausgabe f ; Halt;
4. In einer Computerrechnung soll die Funktion
f (t) = A
n
X
ck ek t cos k t
k=1
verwendet werden; die A, n, ck , k und k werden eingegeben. Es ist f (0) = A gefordert, also mu
c1 + c2 + . . . + cn = 1 sein. Um hier Eingabefehler auszuschlieen wird nach der bernahme der
Werte die Summe s der ck berechnet und der Test
if s 6= 1 then Ausgabe(Koeffizienten falsch!);
ausgefhrt. Allerdings erweist es sich, da er bei n = 3 den Wertesatz c1 = 0.3, c2 = 0.1, c3 = 0.6
moniert?! Was ist hier falsch?
5. Jemand schreibt ein Programm, das eine skalare Gleichung mit Hilfe des Newton- Verfahrens lsen
soll. Funktionsprogramme f(x) und fs(x) zur Berechnung des Wertes der Nullstellenfunktion f (x)
und ihrer Ableitung f 0 (x) liegen vor, letztere sei garantiert ungleich Null und die gestellte Aufgabe
sei eigentlich lsbar - mit dem eingegebenen Wert x mte eine Konvergenz zur naheliegenden
Nullstelle x eintreten. Trotzdem hat man mit dem Programm
Eingabe(x);
1: xn:=x-f(x)/fs(x); wenn x <> xn dann gehe zu 1;
Ausgabe(x);
ein Problem. Welches? (<> bedeutet: ungleich)
6. Programmieren Sie in mglichst vielen Programmiersprachen und -umgebungen und mit verschiedenen Genauigkeiten (real, double, ...) das folgende symbolische Programm!
Was ergibt sich? Warum?
x:=1; n:=0;
1: y:=1+x;
falls y > 1 dann { n:=n+1; x:=x/2; gehe zu 1;}
Ausgabe (n,x);
7. Es sind zwei dreidimensionale Vektoren x = (x1 , x2 , x3 ) und y = (y1 , y2 , y3 ) gegeben. Ihre Komponenten xk oder yk sind Zahlen vom Typ real.
Skizzieren Sie ein Unterprogramm, da entscheidet, ob die beiden Vektoren parallel (nicht unbedingt
gleichgerichtet) sind oder nicht!
2. Skalare Gleichungen:
1. Ermitteln Sie alle reellen Nullstellen des nachstehenden Polynoms a) mit dem Sekantenverfahren
und b) mit dem Newtonverfahren! (Genauigkeit: vier Nachkommastellen)
P3 (x) = x3 + 1.44x + 2.56
2. Ermitteln Sie alle reellen Nullstellen des nachstehenden Polynoms a) mit dem Sekantenverfahren,
b) mit dem Newtonverfahren und c) mit Fixpunktiteration! (Genauigkeit: vier Nachkommastellen)
P4 (x) = x4 + 14.4x + 2.56
3. Lsen Sie die Gleichung 0.22x ln(x 2.34) = 8.83 mit a) dem Newtonverfahren und b) mit
Fixpunktiteration! (Genauigkeit: vier Nachkommastellen)
4. Lsen Sie die folgende Gleichung mit dem Sekantenverfahren mit einer Genauigkeit von zwei Nachkommastellen! Gesucht ist die kleinste positive Lsung.
2.4 0.5x
2
tan x
5. Lsen Sie die folgende Gleichung mit dem Newtonverfahren mit einer Genauigkeit von vier Nachkommastellen!
x + 12.9 = 0.8xe0.33x
6. Lsen Sie die folgende Gleichung mit Hilfe der Fixpunktiteration mit einer Genauigkeit von vier
Nachkommastellen! Gesucht ist die kleinste positive Lsung.
12.4 + 3.2x + 6.2x2
tan x
7. Gesucht ist die positive Nullstelle von f (x) = x4 x3 8x2 3x 296304. Man berlegt sich leicht,
da sie etwas oberhalb von 20 liegt.
Experimentieren Sie mit einem kleinen Programm, das, von x0 = 20 ausgehend, neue xk = (xk1 )
berechnet, wobei die Funktion (x) entsteht, indem man die Funktion nach einem der vorkommenden x auflst! In welchen Fllen tritt Konvergenz auf?
Man kann aus dem Polynom auch eine biquadratische Funktion herausziehen, oder man betrachtet
f (x)(x0.25)4 . Funktionieren die resultierenden Iterationsvorschriften? Sind sie vielleicht besser?
8. Ein homogener Wrfel mit der Kantenlnge a aus einem zu untersuchenden Material soll befestigt
werden; dazu dient eine um drei Flchen gelegte Bauchbinde aus einem Metallband, das an den
beiden Enden an der Wand befestigt wird. Das Material des Wrfels hat eine Dichte von 1.056g
cm3 , 1cm des Bandes hat eine Masse von 2.385g. Die Gesamtmasse von Wrfel und Band soll
83.55kg betragen.
Berechnen Sie mit Hilfe einer Fixpunktiteration die Kantenlnge a des Wrfels! Geben Sie Startwert
und Zwischenresultate an!
9. Man ermittle die kleinste und grte Nullstelle von
f (x) =
20
X
k=0
1
xk
10. Lsen Sie die folgenden drei Gleichungen mit einer garantierten Genauigkeit von sechs Nachkommastellen!
a) x3 + x 0.21 = 0, b) x3 + x 2.1 = 0, c) x3 + x 21 = 0
11. Finden Sie alle Lsungen der Gleichung
19.34 2x
ex
16. Im Zentrum einer kreisfrmigen Wiese vom Radius R befindet sich ein runder Brunnen vom Radius
1. An seiner Auenwand ist ein Strick der Lnge l befestigt, an dem eine Ziege angebunden ist. Sie
weidet auf der Wiese, dabei wickelt sich ggfs. der Strick um den Brunnen. Er ist aber so lang, da
die Ziege zumindest den der Befestigungsstelle gegenberliegenden Punkt des Brunnens erreicht;
andererseits ist er zu kurz, als da sie den Rand der Wiese erreichen knnte.
Berechnen Sie fr verschiedene Werte von R eine Lnge l des Strickes so, da die Ziege die Hlfte
der Grasflche abweiden kann!
17. Die Gleichung 0.22 x = tan x soll mit der Methode der Fixpunktiteration auf sechs Nachkommastellen genau gelst werden, indem man sie nach dem x in tan x auflst. (Gesucht sei die kleinste
positive Lsung.)
Das Verfahren konvergiert langsam; beschleunigen Sie die Konvergenz, indem sie nach jeweils drei
Schritten mit dem Aitkenschen 2 -Verfahren das Resultat schtzen und damit weiterrechnen!
18. Es soll eine Fixpunktiteration fr eine Lsung x > 0 nach der Vorschrift xk+1 = (xk ) fr die
Funktion
x 6.1
+ 6.12
(x) =
x2 12.2x + 38.25
durchgefhrt werden. Fhren Sie diese Berechnung mit vier Nachkommastellen durch, bis beim
Ergebnis zwei Nachkommastellen sicher bekannt sind! Beschleunigen Sie die Rechnung durch Anwendung des 2 - Verfahrens! Beginnen Sie z. B. bei x0 = 3 !
19. Finden Sie die Nullstelle der Funktion
f (x) =
x2 + 3x + 7.4
+ 7.1
22 x2 + ln x4.2
6.8+x
mit Hilfe des Newton - Verfahrens mit einer Genauigkeit von sechs Nachkommastellen!
20. Man finde die positive Lsung von 1.15 = x + e2x = f (x) !
21. Welches ist der kleinste Wert x , in dem die Funktion f (x) = x(x 1)(x 2)(x 3)(x 4)(x
5)(x 6)(x 7) ein Minimum hat?
Ermitteln Sie x mit vier Nachkommastellen!
22. Die Gleichung
2
198.227 e0.867 051x 3.945 220 + 6.003 282x4 366.5437 = 0
soll mit Taschenrechner und Newton - Verfahren gelst werden. Es interessiert nur x > 0.
Welche effektive Vorgehensweise ist angebracht?
23. Finden Sie mit Hilfe des Newton-Verfahrens oder des Sekantenverfahrens die positive Nullstelle der
Funktion
p
1974.8 56.88x x2 + 0.013x a
f (x) =
fr die Werte a = 8.07, a = 1.52 und a = 0.64 ! Die Ergebnisse sollen sechs richtige Nachkommastellen besitzen.
24. Ermitteln Sie den Schnittpunkt der Kurven der Funktionen f (x) = 46.81 + 29.05e0.07442x und
g(x) = 43.63 + 209.30e0.02927x im positiven x-Bereich!
3. Nichtlineare Gleichungssyteme:
1. Das System
x sin y = 0.9 ,
x + cos y = 1.4
2. Eine ebene Kurve K ist implizit durch die skalare Gleichung F (x, y) = 0 gegeben.
2
2
(Z. B.
der Einheitskreis durch F (x, y) = x + y 1 = 0 . Lst man diese Gleichung in der Gestalt
2
y = 1 x nach x auf, so erhlt man nur einen halben Kreis!)
Es sei ein Punkt (x0 , y0 ) K gegeben, gesucht ist eine (endliche) Folge von Punkten (xk , yk ) auf
dieser Kurve, wobei jeder Punkt der Folge denselben gegebenen Abstand h > 0 zu seinem Vorgnger
haben soll.
Der Wert von h kann als so klein vorausgesetzt werden, da die Punktfolge ein vernnftiges Bild
der Kurve liefert.
a) Formulieren Sie das Newton - Verfahren fr Systeme zur Lsung dieser Aufgabe!
b) Wie kann man sich Startwerte beschaffen?
c) Testen Sie die gewonnenene Vorschrift durch ein kleines Programm fr den genannten Einheitskreis und fr F (x, y) = y x + sin c(x + y) fr verschiedene Werte von c 1 !
4. Lineare Gleichungssyteme:
1. Lsen Sie das lineare Gleichungssystem xy+2z = 7, 2x+y+z = 4, x2y+z = 1 iterativ mit Hilfe
des Einzelschrittverfahrens, beginnend mit x0 = y0 = z0 = 0 ! (Ziel: vier sichere Nachkommastellen)
5. Interpolation:
1. Von der Fehlerfunktion y = erf(x) ist die folgende Tabelle gegeben:
x
0.10
0.11
0.12
0.13
0.112463
0.123623
0.134758
0.145867
Gewinnen Sie durch Interpolation ber alle Tabellenwerte eine Nherung zu erf(0.122) !
2. Eine elektrische Heizung erwrmt ein Objekt. Ihre Wirkung kann durch einen Auenwiderstand
Ra gesteuert werden. Versuche ergaben die folgenden resultierenden Temperaturen in Abhngigkeit
von Ra :
Ra in
12
20
50
.
T in o C 52.6 43.8 19.3
Ermitteln Sie durch Interpolation nherungsweise den Widerstand, mit dem man das Objekt auf
37o C temperieren kann!
3. Eine Gruppe von Lichtquellen verschiedener Intensitt ist irgendwie um einen gewissen Punkt P
herum verteilt. Ein Aufpunkt A ist weit (relativ zum Durchmesser dieser Gruppe) von P entfernt.
Die Leuchtstrke einer einzelnen Lampe nimmt mit dem Abstand r wie r2 ab.
Im Falle der Gruppe ist das Gesetz komplizierter, es soll aber unter der Bedingung r = |P~A| >> 0
durch die vereinfachte Formel L = 1/(Ar2 + Br + C) angenhert werden. Gewinnen Sie durch
Interpolation aus der nachstehenden Mewerttabelle Werte fr A, B und C !
40
80
160
r
L 4.86 1.25 0.316
4. Die in Naturwissenschaft und Technik vielfach genutzte Funktion y = f (x) mit dem Namen Produktlogarithmus oder Lambert - W - Funktion (s. a. wikipedia) ist implizit definiert durch die
Gleichung x = y ey .
Nachstehend ist sie fr 0 x < 10 mit der Schrittweite 0.1 tabelliert:
x
0
1
2
3
4
5
6
7
8
9
0
0
0.56714
0.85260
1.04991
1.20217
1.32672
1.43240
1.52434
1.60581
1.67902
0.1
0.09128
0.60230
0.87522
1.06677
1.21568
1.33804
1.44215
1.53292
1.61347
1.68595
0.2
0.16892
0.63556
0.89707
1.08322
1.22894
1.34917
1.45177
1.54139
1.62106
1.69281
0.3
0.23675
0.66713
0.91822
1.09927
1.24194
1.36013
1.46126
1.54977
1.62856
1.69961
0.4
0.29717
0.69718
0.93871
1.11496
1.25470
1.37092
1.47062
1.55805
1.63599
1.70635
0.5
0.35173
0.72586
0.95859
1.13029
1.26724
1.38155
1.47986
1.56623
1.64334
1.71303
0.6
0.40156
0.75330
0.97788
1.14528
1.27955
1.39201
1.48898
1.57432
1.65061
1.71965
0.7
0.44747
0.77960
0.99663
1.15995
1.29165
1.40233
1.49799
1.58233
1.65782
1.72620
0.8
0.49007
0.80487
1.01486
1.17432
1.30354
1.41250
1.50688
1.59024
1.66495
1.73270
0.9
0.52983
0.82918
1.03262
1.18838
1.31523
1.42252
1.51567
1.59807
1.67202
1.73914
Ermitteln Sie durch geeignete Interpolation aus dieser Tabelle die Lsungen der folgenden Gleichungen!
a) x ex = 6.7322 ,
d) x0.83 2x = 6.0443 ,
b) x e2.38x = 1.4355 ,
c) x1.43 ex = 1.2845
e) 0.3994x + lg x = 0.7218 ,
f ) ex = 0.4003x
5. Wie sieht das Polynom aus, da mit der Funktion f (x) = sin x in den Punkten x = 0o , 30o , 45o , 60o
und 90o bereinstimmt und im letzten Wert ein Maximum hat?
6. Ausgleichsrechnung:
Das sind nur wenige Aufgaben; zu diesem Thema existiert ein separates Material.
1. Gegeben sind die Wertepaare (3,24.4), (4,15.2), (5,12.2) und (6,10.4).
Sie sollen durch eine Funktion f (x) = a + b/(x x0 ) dargestellt werden; speziell interessiert die
vermutliche Lage der Polstelle x0 .
Erzeugen und lsen Sie ein geeignetes lineares Ausgleichsproblem!
2. Gesucht sind die Parameter und b der Funktion f (t) = Atb et ; bekannt sind die (recht genauen)
Werte der Funktion
Z
t
F (t)
f ( ) d
0
1.3
1.4
1.5
1.6
1.7
1.8
0.34085
0.39266
0.44673
0.50277
0.56049
0.61962
Bestimmen Sie daraus mit Hilfe der zentralen Differenzenformel nherungsweise F 0 (t) in den vier
inneren Punkten, und ermitteln Sie durch ein linearisiertes Ausgleichsproblem geeignete Werte fr
diese beiden Parameter!
7. Numerische Differentation:
1. Berechnen Sie fr h = 1, 0.1, 0.01, . . . (sofern machbar) mit Hilfe der zentralen Differenzenformel
Nherungswerte zur Ableitung von f (x) = x3/2 in x1 = 1, x2 = 0.01 sowie - mit der einseitigen
Differenzenformel - in x3 = 0, und vergleichen Sie die Ergebnisse mit den genauen Werten!
2. Es ist (fr x > 0) die Funktion y(x) definiert durch die implizite Angabe y 5 + xy 702 = 0.
Ermitteln Sie (genau oder genhert) y 0 (0.3) !
Lsungen:
1. Rundungseffekte:
1. Nicht unbedingt.
Beide Schilder drften sich auf jeweils ein und denselben Bezugspunkt in den beiden Orten beziehen;
das erste Schild verkndet, da der Abstand von ihm zu diesen beiden Punkten also (20 + a)km
bzw. (10 + b)km betrgt, mit |a, b| < 0.5km.
Beim zweiten Schild ist die Entfernung entsprechend (15 + c)km bzw. (6 + d)km, mit |c, d| < 0.5km.
Der Abstand der beiden Schilder ist x.
Man hat das System von Ungleichungen:
0.5 < a < 0.5, 0.5 < b < 0.5, 0.5 < c < 0.5, 0.5 < d < 0.5,
20 + a x = 15 + c ,
10 + b x = 6 + d ,
also 1 + a b = c d .
Dieses System hat eine nichtleere Lsungsmenge; es ist a b (1, 1), also 1 + a b (0, 2), und
dieses Intervall berschneidet sich mit c d (1, 1). Eine einfache Lsung: a b = 0.5 und
c d = 0.5, also z. B. a = b = 0.25km und c = d = 0.25km. Dann ist x = 4.5km.
Am ersten Schild waren die Entfernungen folglich 19.75km und 10.25km; gerundet also 20km und
10km. Beim zweiten blieben nach 4.5km noch 15.25km bzw. 5.75km, gerundet mithin 15km und
6km.
Wenn man zwei Werte addiert oder subtrahiert, so ist es nicht egal, ob man vor oder nach der
Rechnung rundet; hier sind die Eingabewerte gerundet.
2. Es gilt 232.5V U1 < 233.5V , 150.5V U2 < 151.5V und 382.5V U1 + U2 383.5V ; in der
U1 U2 -Ebene kann man jeden dieser Bereiche als einen Streifen darstellen. Der Durchschnitt der
drei Streifen ist die Menge der Mglichkeiten:
U2
.....
.....
.....
..... ..
...
........
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
152
.....
....
.... ........
.....
....
.... .......
.....
.....
.....
..
....
.
.
.....................................................................................................................................................................
.....
.
... . . . .....
..... ... . . . . .... .....
..... .. . . . . ..... ..
........ . . . . . ........
...... . . . . . . . . . .......
151..........
... ..... . . . . ... ......
.... ....... . . . ..... .......
..... . . . ...
....
...
............................................................................................................................................................................
.....
.....
....
.....
..... .....
.....
..... ...
....
.....
.......
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
150
............
....
.... .......
....
.....
....
....
.....
....
....
.....
.....
....
....
.....
....
....
.....
.....
...
...
...
....
....
..
..
..
U1
232
233
234
6
3. Zur Aufgabe 1:
Dieses Programm wird nur dann mit Resultatausgabe fertig, wenn (im Computer) ein x existiert,
zu dem exakt der Wert 0 ausgerechnet wird.
Wrde man (z. B. mit zwei Nachkommastellen) versuchen, die Gleichung f (x) = 3x 1 = 0 zu
lsen, so gbe f (0.33) = 0.01 < 0, aber f (0.34) = +0.02 > 0 - die exakte Lsung dieser Gleichung
ist in dieser Arithmetik nicht darstellbar. Das Programm wrde ewig rechnen.
Zur Aufgabe 2:
Man soll keine real-Zahlen als Indizes, d. h. zum Zhlen, verwenden.
(Zur Klrung des Begriffs: Schfchen kann man zhlen, Mehl dagegen nicht - dessen Menge kann
man angeben, aber nicht als Anzahl.)
Operiert man wie vorhin mit zwei Nachkommastellen, so wre bei n = 3 und [a, b] = [0, 1] die
Summation in 0, 0.33, 0.66, 0.99, 1.32, ... auszufhren. Man berspringt die Stopstelle x = 1, das
7
= 475
237!
2 237!
r
475 475 (ln 475 1 ln 2) 237 (ln 237 1)
=
e
= 2.592710462
237
(x + 238)
(x + 1)
(x + 1) (x + 2) . . . (x + 237) =
(x)
(x)
2 ex xx1/2
2 e(x+238) (x + 238)x+237.5
Z(x)
=
f (x) =
N (x)
e1064.7468 (x)
ln
2 x 238 + (x + 237.5) ln(x + 238) 1064.7468
e
(x)
=
+
+ ...
238
238 2 2382
3 2383
und der Exponent bekommt die Form
x
x2
x3
E(x) = (x + 237.5) ln 238 +
+
+
.
.
.
x 1301.8279 =
238 2 2382
3 2383
= 2.1636 + 5.4702x + 0.0021x2 + . . .
Die Nherungswerte fr den Fall, da man sich im Exponenten auf diese drei Summanden beschrnkt, sind in der folgenden Tabelle dargestellt:
1 Weil
x
0.10000
0.20000
0.30000
0.40000
0.50000
0.60000
0.70000
0.80000
0.90000
1.00000
f (x)
0.02088
0.07478
0.19833
0.46231
1.00000
2.05727
4.07975
7.86306
14.80897
27.35845
exp(E(x))
0.19858
0.34319
0.59312
1.02513
1.77185
3.06264
5.29397
9.15137
15.82010
27.34955
(x)
9.514
4.591
2.992
2.218
1.772
1.489
1.298
1.164
1.069
1.000
Nherung
0.0209
0.0748
0.1983
0.4621
0.9997
2.0576
4.0786
7.8603
14.8036
27.34955
Zur Aufgabe 5:
Die Vorgehensweise hat zwei Nachteile:
a) Sie funktioniert nicht bei x 0, wo eine Fehlermeldung vom Logarithmus ausgelst wird.
b) Es werden zur Auswertung von ex und ln x berflssig viele Rechenoperationen gemacht.
Das Horner-Schema zur Polynomberechnung ist wesentlich effektiver. Wenn es sich hier um ein
Funktionsunterprogramm handeln soll, das sehr oft aufgerufen wird, so kann das drastisch in die
Rechenzeit gehen.
4. Diese drei glatten Dezimalbrche sind im Computer nicht exakt darstellbar; ihre Summe kann
genau 1 ergeben, mu aber nicht. Der Test sollte besser zu
if abs(s-1) < 0.000001 then Ausgabe(Koeffizienten falsch!);
modifiziert werden (wobei die Genauigkeitsschranke natrlich problemabhngig ist).
5. Der Fall x = xn mu nicht eintreten, und dann wird die Iterationsschleife nie verlassen.
Zur Veranschaulichung sei von einer dreistelligen dezimalen Arithmetik ausgegangen, die Ableitung
habe den Wert 1.
Man hat x = 1.23 mit dem Funktionswert +0.001, was zu einem korrigierten Wert x = 1.22
fhrt. Theoretisch mte dieser den Funktionswert 0 geben, da der Anstieg der Funktion ja 1 war,
aber durch Rundungseffekte beim Auswerten ergibt sich f (1.22) = 0.001. (Vermutlich war schon
f (1.23) = 0.01 falsch.) Somit korrigiert das Verfahren zurck zu x = 1.23 und hpft knftig stndig
zwischen 1.22 und 1.23 hin und her.
Die formulierte Abbruchbedingung ist unsachgem.
Im einfachsten Falle kann man sie z. B. durch wenn abs(xn-x) > 0.0001 dann gehe zu 1; ersetzen das ist machbar, wenn man genau wei, da 0.0001 bei allen mit diesem Programm zu behandelnden
Problemen eine akzeptable Genauigkeitsschranke ist.
Alternativ kann man wenn abs(xn-x) > eps dann gehe zu 1; formulieren und die Genauigkeitsschranke eps vom Nutzer vorgeben lassen - sie werde zusammen mit dem Startwert x eingelesen.
Das bedeutet aber Aufwand, und wenn man noch nicht wei, was herauskommt, so kann das problematisch sein. Angenommen, man gibt eps=0.001 vor (in der Annahme, da die Lsung in der Nhe
von 1 liegt, wobei also diese Grenze eine recht kleine Toleranz darstellt), und die wahre Lsung ist
aber nur 0.004567 - dann wird ein Fehler akzeptiert, der grer als das Resultat ist!
Wre dagegen die wahre Lsung 9 876 543 210, so ist bei 12-stelliger Rechnung gerade noch die
zweite Nachkommastelle erfabar - eine durch eps=0.001 festglegte Genauigkeitsforderung in der
dritten Stelle ist dann gleichbedeutend mit der Forderung nach Gleichheit.
Naheliegend wre es, also jeweils die relative Genauigkeit zu testen: abs(xn-x)/abs(xn) > eps . Hier
bekommt man aber ein Problem, wenn die Lsung exakt 0 ist. Ein Ausweg wre, sein Programm
fr Werte bis zu einem Betrag von etwa 1010 fr den relativen Fehler vom Resultat auszulegen
und darunter fr die absolute Abweichung zu 1010 : abs(xn-x)/(abs(xn)+1010 ) > eps .
Jedenfalls wird die Sache mit der Abbruchschranke einer solchen Iteration (das gilt analog auch fr
das Sekantenverfahren oder die Fixpunktiteration) nicht so einfach. Bei Handrechnung ist es kein
Problem, allgemeingltige Regeln fr einen Computer sind aber nicht simpel zu formulieren.
Im beschriebenen Beispiel ergaben sich abwechselnd die Werte 1.22 und 1.23, man kann also auf
die Idee kommen, den neuen Wert mit den letzten beiden zu vergleichen und bei bereinstimmung
mit einem von ihnen abzubrechen. Diese Variante wrde aber versagen, wenn das Verfahren sich
bei einem Zyklus 1.22 1.23 1.24 1.22 . . . festfrit.
Radikaler Ausweg: Man vergleicht den neuberechneten Wert mit allen vorhergehenden.
Nachteil der Methode: Man mu alle Zwischenresultate speichern, je nach verwendeter Program9
miersprache also ggfs. ein sicherheitshalber recht groes Feld vorrtig halten. Die Zahl der Tests
kann gro werden, wodurch sie viel Rechenzeit verbrauchen.
Statt dessen kann man sich aber auch auf die jeweils letzten zehn Werte beschrnken. Das geht dann
aber nur, wenn man sicher sein kann, da so ein Zyklus hchstens zehn verschiedene Endwerte
generiert.
Bei skalaren Gleichungen ist das vermutlich recht wahrscheinlich, bei Gleichungssystemen mit mehreren Lsungskomponenten aber kaum.
6. Dieses Programm bestimmt die Maschinengenauigkeit der Programmierumgebung.
Bei real-Zahlen (32 Bit) wurde n = 24 ausgegeben, also galt im Computer 1 + 224 = 1. Diese
beiden Zahlen sind nicht zu trennen; die nchstgrere Zahl nach 1 ist hier 1 + 223 . Der Summand
223 ist dabei die Maschinengenauigkeit (vgl. Lehrtext S. 11).
Fr die Mantisse (ohne Vorzeichen) stehen folglich 24 Bit zur Verfgung, d. h. 3 Byte. 1 Byte ist
offenbar dem Exponenten vorbehalten.
double-Zahlen (64 Bit) liefern n = 54.
Diese Resultate knnen sich mit der Programmierumgebung ndern.
Wer ganz sicher gehen mchte kann das Programm so modifizieren:
x:=1;
1: y:=1+x;
falls y > 1 dann { x:=0.999*x; gehe zu 1;}
Ausgabe (x);
Bei einfachen real-Zahlen ergab sich als erste nicht erfate Zahl x = 5.957059E 08, und schreibt
man diese als Zweierpotenz, so folgt aus 2u = 5.957059E 08 umgehend u = lg(5.957059E
08)/lg2 = 24.001, also ebenfalls 24.
7. Das ist nur auf den ersten Blick eine klar formulierte Aufgabenstellung.
Wenn man sie von auen bekommen hat, so sollte man sich nicht scheuen zu fragen:
Was bedeutet: parallel ?
Die erboste Reaktion des Auftraggebers klingt hoffentlich schnell ab, wenn er feststellt, da er es
auch nicht so recht wei.
Wenn man sich die Aufgabe selbst gestellt hat - im Rahmen irgendeines Projekts - so mu man
diese Frage auch selbst beantworten. Aber dann wei man vermutlich auch, wie sie zu interpretieren
ist.
Zunchst: Wenn einer der beiden Vektoren der Nullvektor ist (oder beide) - sind sie dann als parallel anzusehen oder nicht? - Das ist eine Glaubensfrage. Die mu durch eine Festlegung entschieden
werden, nicht durch eine Rechnung.
Vielleicht heit es: Das entfllt hier, die beiden Vektoren sind in meinem Problem stets vom Nullvektor verschieden. - Sag niemals nie!
Vorsichtige Programmierer der Gattung Gebrannte Kinder verlassen sich nicht auf diese Aussage
und handeln zunchst diesen Fall ab, z. B. mit dem folgenden Hieb durch den gordischen Knoten:
Wenn (|x1 | + |x2 | + |x3 |) (|y1 | + |y2 | + |y3 |) = 0 dann lege fest: Parallel.
Danach kann man getrost davon ausgehen, da beide Vektoren vom Nullvektor verschieden sind.
Wenn man darauf verzichtet, so riskiert man es eben.
Man fliegt ja auch mit einmotorigen Flugzeugen.
Jetzt kommt das schwierigere Problem. Fangfrage: Sind (3 , 1, 0) und (1, 0.3333, 0) parallel?
Strenggenommen - nein. Im alltglichen Sinne - ja.
Mit solchen menschlichen Spitzfindigkeiten kann ein Computer nichts anfangen. Dessen Spatzenhirn
braucht eine klare Vorschrift: Wann sind Vektoren parallel und wann nicht?
Man komme ihm nicht mit Euklids Betrachtungen ber Gerade, die sich nicht oder nur im Unendlichen schneiden. Er braucht eine Berechnungsvorschrift. brigens nicht nur er, sondern auch
der Programmierer.
Theoretisch bedeutet Parallelitt, da alle Komponenten im selben Verhltnis stehen:
yk /xk = , k = 1, 2, 3 mit ein und demselben Wert .
Hierbei sind natrlich die Komponentenpaare herauszunehmen, die beide Null sind.
Reelle Zahlen (genauer: real - Zahlen) auf Gleichheit zu testen ist aber Unfug. Man kann z. B.
daran denken zu prfen, ob die Quotienten alle nahe beieinder liegen. Wenn das eintritt, so werden
die Vektoren als parallel angesehen.
10
Im Falle x1 x2 x3 6= 0 (das mu also auch noch untersucht werden; es resultieren lstig viele logische Zweige im Programm!) kann man z. B. festlegen k = yk /xk , k = 1, 2, 3 und Parallelitt
konstatieren bei
|1 2 | + |1 3 |
< 106 .
|1 | + |2 | + |3 |
Diese Idee ist aber nur auf den ersten Blick gut.
Die Vektoren (1, 0.000 001, 2) und (2, 0.000 001, 4) wren dann nicht parallel, was aber der
(liberalen) Vorstellung widerspricht.
Mir scheint die folgende Festlegung sinnvoll: Zwei (vom Nullvektor verschiedene) Vektoren werden
im Sinne dieser Aufgabe parallel genannt, wenn der Winkel zwischen ihnen einen gegebenen
kleinen Winkel nicht berschreitet oder nicht unterschreitet.
Ich unterstelle, da man sich mit dem Auftraggeber des Programms auf diese Formulierung geeinigt
hat2 oder selbst beschliet, hiervon auszugehen.
In jedem Falle bedeutet das | cos | cos oder
|x1 y1 + x2 y2 + x3 y3 |
p
(x21
cos .
Will man auf das Ziehen der Quadratwurzel verichten, so kann man die Ungleichung beidseitig
quadrieren:
(x1 y1 + x2 y2 + x3 y3 )2
(x21 + x22 + x33 ) (y12 + y22 + y32 )
cos2 =
1 + cos 2
1 + (1 22 )
= 1 2 .
2
2
Da ein sehr kleiner Winkel sein soll kann man seinen Kosinus (bzw. den des doppelten Winkels)
getrost durch den Anfang der Potenzreihe ersetzen. Die resultierende Differenz ist hier bedeutungslos.
Man hat es hier mit dreidimensionalen Vektoren zu tun, da kann man den Winkel auch ber ihr
Kreuzprodukt bestimmen:
|~x ~y |
p
(x21
x22
= | sin |
sin .
Damit ist das gestellte Problem gelst. Es gibt die eingangs erfolgte Prfung auf Nullvektoren und
dann nur noch einen einziger Test statt eine Anzahl von Fallunterscheidungen.
Dem Unterprogramm sollte man ggfs. den Toleranzwinkel als Parameter bergeben.
Anmerkung: Wenn man ein maximal universales Programm will - das obige ist es nicht.
Angenommen, die positiven Zahlen in der verwendeten Programmierumgebung liegen im Bereich
von 1.00 1099 bis 9.99 10+99 , so wrde der Vektor x mit x1 = x2 = x3 = 1051 dieses Programm
ebenso zum Absturz bringen wie x1 = x2 = x3 = 1051 .
Als Vorsichtsmanahme knnte man z. B. in jedem der beiden Vektoren zunchst die betragsgrte Komponente bestimmen und dann den Vektor durch diese dividieren. Die dabei entstehenden
Rundungsfehler
sind hier unbedeutend. Die Betrge der Vektoren lgen hernach zwischen 1 und
3.
2. Skalare Gleichungen:
1. Vorbetrachtung zum Problem:
Als Polynom dritten Grades mit reellen Koeffizienten hat P3 mindestens eine, evtl. drei reelle Nullstellen.
Absolutglied und sonstige Koeffizienten sind positiv, also gibt es keine positive reelle Nullstelle.
Es ist P30 (x) = 3x2 + 1.44 1.44 > 0, diese Funktion ist folglich auf der gesamten reellen Achse
streng monoton wachsend. Mithin gibt es genau eine Nullstelle.
Es ist P3 (0) = 2.56 > 0. Andererseits ist offensichtlich P3 ( 3 2.56) = 1.44 3 2.56 < 0 bzw.
P3
(2.56/1.44) = (2.56/1.44)3 < 0. Es gibt also (mindestens) eine Nullstelle zwischen 0 und
3 2.56 = 1.368 bzw. 2.56/1.44 = 1.778. Der erste der beiden letzten Werten ist eine engere
Schranke.
Es bietet sich an, im Bereich [-1.368,0] erst einmal x = 1 zu betrachten. Dort ist offenbar P3 (1) =
2 Typische Situation: Die nervigen Rckfragen des Programmierers zwingen den Ingenieur, sein Problem grndlich zu
durchdenken.
11
2.44 + 2.56 = 0.12 > 0. Diese Erkenntnis engt die Lage der Nullstelle ein auf [-1.368,-1], und zwar
vermutlich nahe dem oberen Ende.
Jetzt drfte es sinnvoll sein, diesen Bereich in Schritten zu 0.1 abzutasten, von oben beginnend:
P3 (1.1) = 0.355.
Damit ist bereits eine akzeptable Anfangseinschlieung gewonnen.
a) Sekantenverfahren: Es wird jeweils der betragsgrte Funktionswert aus dem letzten Wertepaar
ersetzt.
x1 = 1.1, x2 = 1,
x3 = 1
1.1 (1)
0.12 = 1 0.025 263 = 1.025 263 ,
0.355 0.12
P3 (x3 ) = 0.00590077
x1 = 1.025 263, x2 = 1,
x3 = 1
x3 = 1.025 263
x1 = 1
0.12
= 1 0.027 027 = 1.027 027
4.44
0.002 211
= 1.027 027 (0.000480) = 1.026 547
4.604 353
P3 (x2 ) = 1.6 106
Zur nchsten Korrektur ist dieser Funktionswert durch etwa 4.6 zu teilen, weshalb sich also die
ersten sechs Nachkommastellen nicht wesentlich (s. o.) ndern knnen. Damit ist nach Rundung
das Resultat erhalten: x = 1.0265.
2. Vorbetrachtung zum Problem:
Als Polynom vierten Grades mit reellen Koeffizienten hat P4 keine oder zwei oder vier reelle Nullstellen.
Absolutglied und sonstige Koeffizienten sind
p positiv, also gibt es keine positive reelle Nullstelle.
Es ist P40 (x) = 4x3 + 14.4 fr x < 3 14.4/4 = 1.533 negativ, die Funktion ist dort folglich streng monoton fallend und bei x > 1.533 streng monoton wachsend. Offensichtlich ist
P4 (1) = 1 14.4 + 2.56 < 0. Mithin gibt es genau eine Nullstelle zwischen -1 und 0, und eine zweite unterhalb von -1.533. Die restlichen beiden Nullstellen mssen komplex sein.
Bei 1 < x < 0 ist x4 + 2.56 (2.56, 3.56), also liegt die Lsung von P4 (x) = 0 zwischen
(3.56/14.4, 2.56/14.4) = (0.247, 0.178).
Damit ist bereits ein akzeptables Anfangspaar gewonnen.
a) Sekantenverfahren: Es wird jeweils der betragsgrte Funktionswert aus dem letzten Wertepaar
ersetzt.
x1 = 0.247, x2 = 0.178, P4 (x1 ) = 0.993 078, P4 (x2 ) = 0.002 196
3 Bei x = 1.026 547 49 z. B. wrde die Subtraktion von 0.000 000 02 das Resultat -1.026 547 51 ergeben, was zu -1.026
548 zu runden wre. Auf das vierstellige Resultat hat das aber keinen Einflu.
12
Nach Voraussetzung mte man eigentlich eine Einschlieung haben, d. h. es mte P4 (x1 )P4 (x2 ) <
0 gelten. Der Widerspruch bedeutet, da das Runden von -2.56/14.4 auf drei Nachkommastellen
bereits ber die Nullstelle hinwegfhrte!
Durch diese Erkenntnis gewitzt sollte man das bisherige x1 flugs verwerfen und einen genaueren
Wert von 2.56/14.4 verwenden, z. B. x1 = 0.177 777.
x1 = 0.177 777, x2 = 0.178, P4 (x1 ) = 0.001 010 078, P4 (x2 ) = 0.002 196
0.178 (0.177 777)
0.001 010 =
0.002 196 0.001 111
= 0.177 777 0.069 553 0.001 010 = 0.177 777 0.000 070 = 0.177 847
x3 = 0.177 777
2.2 (2.4)
1.1776 =
(5.6944) 1.1776
= 2.370 355 (0.025 829) (0.004 639) = 2.370 355 + 0.000 120 = 2.370 475
P4 (x3 ) = 2.6 105
In Anbetracht des Korrekturfaktors um 0.026 sind vier Nachkommastellen sicher: x2 = 2.3705.
b) Newton-Verfahren, beginnend bei x0 = 0.2 (grobe Schtzung aus der Eingangsbetrachtung):
x0 = 0.2, P4 (x0 ) = 0.3184, P40 (x0 ) = 14.368,
0.3184
= 0.2 (0.022 160) = 0.177 840
14.368
P4 (x1 ) = 0.000 104, P40 (x0 ) = 14.377 502,
x1 = 0.2
0.000 104
= 0.177 840 0.000007 = 0.177 847
14.377 502
Damit kann auf vier Stellen gerundet werden; die nchste Korrektur wre schon viel kleiner.
Zweite Nullstelle: Es kann in einem beliebigen Punkt unterhalb von -1.533 begonnen werden, allerdings sollte man nicht zu nahe an -1.533 starten - dann wird man erst einmal weit ins Negative
geworfen und mu sich langsam zurckarbeiten.
Start z. B in x0 = 2:
x1 = 0.177 840
x1 = 2
13
10.24
= 2 0.581 818 = 2.581 818
17.6
P40 (x1 )
= 41.002 167,
Hier ist genau dieser Fall eingetreten - von -2 geriet man in -2.581..., d. h. bers Ziel hinaus, wenn
auch nur geringfgig.
c) Fixpunktiteration: Eine Nullstelle war zwischen (etwa) -0.247 und -0.178 ausgemacht; die vierten
Potenzen von Werten dieses Bereichs ist (betragsmig) klein gegen 14.4x.
Der letzte Ausdruck ist also wesentlich in der Gleichung, nach seinem x sollte man auflsen: x =
(2.56 + x4 )/14.4. Starten kann man mit x0 = 0:
x1 = (2.56 + x40 )/14.4 = 2.56/14.4 = 0.177 778
x2 = (2.56 + x41 )/14.4 = 2.560 999/14.4 = 0.177 847
x3 = (2.56 + x41 )/14.4 = 2.561 000/14.4 = 0.177 847
Damit ist dieses Problem gelst.
Die andere Nullstelle, vermutet in der Nhe von -2: Dann ist nicht so offensichtlich, welche Variante
der Auflsung man zu whlen hat. Mit der soeben beschriebenen Vorgehensweise kommt man, wenn
man in -2 startet, erneut in -0.1778. Das ist sogar dann der Fall, wenn man den oben ermittelten
Wert -2.3704 als Startwert whlt - der Iterationsproze verlt ihn, anfangs zgernd, doch dann
entschieden, und wechselt zu -0.1778. Beginnt man dagegen mit -3, so luft die Folge immer schneller gegen .
Lst man die Gleichung dagegen
nach dem x in x4 auf, so ist dieser Weg erfolgreich: Unter Berck
4
sichtigung von x < 0 ist x = 14.4x 2.56, und beginnend bei x0 = 2 wird nacheinander
4
4
x1 = 26.24 = 2.263 294, x2 = 30.031 432 = 2.340 960,
4
4
x3 = 31.149 825 = 2.362 457, x4 = 31.459 380 = 2.368 305
4
4
x5 = 31.543 584 = 2.369 888, x6 = 31.566 382 = 2.370 316
4
4
x7 = 31.572 546 = 2.370 431, x6 = 31.574 213 = 2.370 463
4
4
x9 = 31.574 663 = 2.370 471, x10 = 31.574 785 = 2.370 473
Jetzt kann man die vierte Nachkommastelle sicher angeben.
Die Konvergenz ist recht langsam; wenn man bei z. B. n = 4 diesen Eindruck gewinnt, so kann man
an eine Konvergenzbeschleunigung mit dem 2 - Verfahren denken.
Dann ergibt sich eine Schtzung des Grenzwertes zu
x2
(x3 x2 )2
(2.362 457 + 2.340 960)2
=
= 2.340 960
x4 2x3 + x2
2.368 305 + 2 2.362 457 2.340 960
0.0.021 4972
0.000 462
= 2.340 960
= 2.340 960 0.029 523 = 2.370 483
0.015 649
0.015 649
Man landet ganz in der Nhe des wahren Wertes 2.370 475.
Man beachte, da man beim 2 - Verfahren vom vorvorletzten Wert der Folge ausgeht!
= 2.340 960
f (x0 )
= 40.1 (18.805 848) = 58.905 848
f 0 (x0 )
f (x1 ) = 0.093 881, f 0 (x1 ) = 0.202 321, x2 = 58.905 848 0.464 020 = 58.441 828
f (x2 ) = 0.000 034, f 0 (x2 ) = 0.202 175, x3 = 58.441 828 0.000 167 = 58.441 661
Die weitere Rechnung ndert diese sechs Stellen nicht mehr, man hat also x2 = 58.4417.
Die Fixpunktiteration greift einfach die eingangs gemachten berlegungen auf: Nahe 2.34 ist das x
im Logarithmus wesentlich.
0.22x ln(x 2.34) = 8.83
Die Wahl des Startwertes ist recht unwichtig: x0 = 0 ergibt im ersten Schritt 2.340 146 und dann
2.340 245.
x0 = 1 liefert 2.340 182 mit demselben Erfolg, und x0 = 10 erfordert wegen x1 = 2.341 320 einen
Schritt mehr.
In der groen Nullstelle ist - wie gesagt - der Teil 0.22x wesentlich, nach dem x in ihm wird aufgelst:
0.22x ln(x 2.34) = 8.83
x=
Formel:
x2 x1
x
f (x1 ) = x1
f (x1 )
f (x2 ) f (x1 )
y
Es wird folgende Philosophie verfolgt: Im nchsten Schritt wird der soeben neu berechnete Wert
x3 zu x1 erklrt, und einer der beiden alten zu x2 . Dabei werde der mit dem betragskleineren
Funktionswert als der der gesuchten Lsung (vermutlich) nhere genommen.
Die Rechnung wird mit vier Nachkommastellen realisiert, um danach auf zwei zu runden.
Nullstellenfunktion: f (x) = tan x + 0.5x 2.4
Schritt
x1
x2
f (x1 )
f (x2 )
f (x1 ) x/y
x3
1
2
3
4
1.0163
1.0675
1.0788
1.0775
1.1760
1.0613
1.0675
-
-0.2771
-0.0500
0.0052
-0.0001
0.5880
-0.2771
-0.0500
-
0.1597
-0.0512
-0.0113
-
0.8651
-0.2271
-0.0448
-
-0.0512
-0.0113
0.0013
-
1.0675
1.0788
1.0775
-
Die Korrektur betrug etwa ein Viertel des betreffenden Funktionswertes; in vier Stellen ndert sich
also kaum etwas, und es ist ein sicheres Runden auf zwei Stellen gewhrleistet: x = 1.08.
Die Werte wurden durch das Runden schon etwas beeinflut; eine Computerrechnung mit doppelter
Genauigkeit ergibt:
Schritt
x1
x2
1
2
3
4
5
6
1.0163000000
1.0674614213
1.0787789339
1.0777310098
1.0777486575
1.0777486880
1.1760000000
1.0163000000
1.0674614213
1.0787789339
1.0777310098
-
f (x1 )
-0.2771467547
-0.0502027116
0.0051227593
-0.0000877482
-0.0000001514
0.0000000000
15
f (x1 ) x/y
x3
-0.0511614213
-0.0113175127
0.0010479241
-0.0000176477
-0.0000000305
-
1.0674614213
1.0787789339
1.0777310098
1.0777486575
1.0777486880
-
1
f (x) = 0.8xe0.33x x + 12.9 , f 0 (x) = (0.8 + 0.264x)e0.33x
2 x + 12.9
f (x) wird in den ganzzahligen Werten tabelliert; das ist gerechtfertigt, da die Nullstelle sicher nicht
sehr gro wird:
x
f (x)
-3.6
-2.6
-0.76
2.5
f (xk )
= xk xk
f 0 (xk )
Es wird
k
xk
f (xk )
f 0 (xk )
xk
0
1
2
3
4
2.0000000000
2.3132885620
2.2890841755
2.2889240508
2.2889240438
-0.7643840781
0.0701569291
0.0004580749
0.0000000199
-0.0000000000
2.4398722800
2.8985212665
2.8607389979
2.8604904106
2.8604903998
-0.3132885620
0.0242043865
0.0001601247
0.0000000070
-0.0000000000
Entsprechend der Aufgabenstellung wre diese Genauigkeit nicht ntig gewesen, und offenbar reicht
x3 aus, um die Frage zu beantworten: x = 2.2889.
Bemerkung I: Die zweite Ableitung f 00 (x) der Nullstellenfunktion ist fr x > 0 stets positiv - das
sieht man der ersten Ableitung an, ohne die zweite konkret auszurechnen.
Folglich gelangt man stets in die Nullstelle, wenn man nur weit genug oben beginnt. Sei beispielsweise
x0 = 20, dann luft das Verfahren zunchst einfach in relativ groen Schritten in Richtung der
Nullstelle, um in deren Nhe eine gute Verbesserung zu erreichen.
k
xk
f (xk )
f 0 (xk )
xk
0
1
2
3
4
5
6
7
8
9
10
11
20.0000
17.3697
14.7927
12.2857
9.8754
7.6078
5.5651
3.8913
2.7882
2.3492
2.2899
2.2889
11755.7872
4282.4591
1554.9283
561.5292
200.7993
70.4050
23.6376
7.1450
1.6369
0.1753
0.0028
0.0000
4469.2916
1661.8013
620.2385
232.9756
88.5504
34.4672
14.1217
6.4773
3.7286
2.9553
2.8620
2.8605
2.6303
2.5770
2.5070
2.4102
2.2676
2.0427
1.6739
1.1031
0.4390
0.0593
0.0010
0.0000
Bemerkung II: Man mu nicht starrsinnig an der Ausgangsgleichung festhalten, sondern kann sie
auch in eine praktikablere Form bringen. Hier bietet es sich an, sie zu quadrieren:
x + 12.9
0.64x2 e0.66x
Allerdings hat diese Gleichung jetzt zwei Lsungen, von denen die negative nicht in Betracht kommt.
6. Die linke Seite ist stets positiv; fr x > 0 ist das offensichtlich.
Die kleinste positive Lsung liegt also zwischen Null und der ersten Polstelle /2 = 1.57 . . . der
16
Tangensfunktion.
Man kann die Arkustangensfunktion auf beide Seiten anwenden: Erstens befindet man sich im
ersten Quadranten, mu also keinerlei Perioden oder Vorzeichenwechsel beachten, und zweitens ist
der linke Wert zumindest grer als 12.4 - und dort verluft die Arkustangensfunktion bereits sehr
flach, was fr die Fixpunktitertion gnstig ist.
Kurzum, die gegebene Gleichung wird nach dem x im Tangens aufgelst:
x = arctan(12.4 + 3.2x + 6.2x2 ) ,
Iterationsvorschrift:
Gestartet werden kann mit jedem Wert zwischen Null und /2:
x0
x1
x2
x3
x4
0.000000
1.490325
1.538487
1.539555
1.539578
0.250000
1.497332
1.538645
1.539558
1.539578
0.500000
1.506576
1.538852
1.539563
1.539578
0.750000
1.516169
1.539065
1.539567
1.539578
1.000000
1.524957
1.539259
1.539572
1.539578
1.250000
1.532483
1.539424
1.539575
1.539578
1.500000
1.538705
1.539559
1.539578
1.539578
Wie die vorstehende Tabelle zeigt konvergiert das Verfahren so schnell, da man nach maximal drei
Schritten die gewnschte Genauigkeit garantieren kann: x = 1.5396.
7. Variante I: Auflsen nach dem x aus x4 :
x = 1 (x) =
p
4
296304 + x3 + 8x2 + 3x
296304 + x3 + 8x2 + 3x
x3
p
3
x4 296304 8x2 3x
x4 296304 x3 3x
8
x4 296304 x3 8x2
3
Variante VI: Auflsen nach dem x aus der biquadratischen Gleichung x4 8x2 +q mit q = (296304+
x3 + 3x):
q
p
x = 6 (x) =
4 + 296320 + x3 + 3x
Variante VII: Auflsen nach dem x im ersten Ausdruck von
f (x) = (x 0.25)4 [(x 0.25)4 f (x)] =
= (x 0.25)4 [(x4 x3 + 0.375x2 0.0625x + 0.00390625) (x4 x3 8x2 3x 296304)] =
= (x 0.25)4 (8.375x2 + 2.9375x + 296304.00390625
p
4
x = 7 (x) = 0.25 + 8.375x2 + 2.9375x + 296304.00390625
Die Resultate der Rechnung sind in der folgenden Tabelle enthalten; ein Strich bedeutet, da die
Rechnung entweder hier abbricht oder aber da die Divergenz der Folge deutlich ist. In III wurde
die dritte Wurzel aus negativen Zahlen als negative Zahl zugelassen.
17
II
III
IV
VI
VII
0
1
2
3
4
5
20.0000
23.5496
23.6694
23.6741
23.6743
23.6743
20.0000
38.4455
6.4245
1119.7583
1.0074
-
20.0000
-51.8710
190.5767
-
20.0000
-
20.0000
-49168.
-
20.0000
23.5734
23.6711
23.6742
23.6743
23.6743
20.0000
23.6479
23.6741
23.6743
23.6743
23.6743
Wie man sieht konvergieren nur drei der sieben Varianten; diese aber sehr ordentlich. Zur theoretischen Untersuchung ist es aufschlureich zu prfen, ob |0k (x)| bei x = 23.67 . . . kleiner als Eins ist.
Variante VII scheint besser zu sein als I und VI. Das ist nicht erstaunlich, denn hier werden die
beiden hchsten Potenzen des Polynoms bercksichtigt, die bei dem groen Wert x = 23.67 . . .
natrlich von besonderer Bedeutung sind. 8x2 ist hier nur 34% von x3 bzw. 1.4% von x4 , und 3x
ist noch wesentlich unbedeutender.
Kann man (mit einfachen Mitteln) eine Formel konstruieren, die auch den Summand 8x2 bercksichtigt, aber trotzdem noch auflsbar ist?
Ziehen wir zu diesem Zweck das Quadrat einer quadratischen Funktion aus f (x) heraus. Dabei soll
im Rest nur ein lineares Polynom brigbleiben. Das mu mglich sein, denn in der quadratischen
Funktion hat man drei Parameter, und es gibt drei Potenzen, an die angepat wird.
In dieser quadratischen Funktion hat x2 offenbar den Koeffizienten 1, denn sein Quadrat soll den
Summanden x4 aus f (x) ergeben.
Mit dem Ansatz x2 + px + q fr die quadratische Funktion folgt
f (x) = (x2 + px + q)2 [(x2 + px + q)2 f (x)] =
(x2 + px + q)2 [x4 + 2px3 + (2q + p2 )x2 + 2pqx + q 2 (x4 x3 8x2 3x 296304)]
In der eckigen Klammer soll also eine lineare Funktion verbleiben; das ergibt die Forderungen an p
und q: x3 : 2p + 1 = 0, und x2 : 2q + p2 + 8 = 0.
Man erhlt p = 0.5 und q = 4.125.
Nach dem x in der vorderen Klammer wird aufgelst:
(x2 0.5x4.125)2 [7.125x+296 321.015 625] = 0 = x2 0.5x4.125 = 7.125x + 296 321.015 625
q
xIk x
-3.674264616
-0.124646165
-0.004823792
-0.000187485
-0.000007288
Quot.
29.478
25.840
25.729
25.725
xVk I x
-3.674264616
-0.100837973
-0.003210218
-0.000102600
-0.000003280
Quot.
36.437
31.412
31.289
31.285
xVk II x
-3.674264616
-0.026395566
-0.000204991
-0.000001593
-0.000000012
Quot.
139.200
128.764
128.695
128.695
xVk III x
-3.674264616
-0.000513144
-0.000000072
0.000000000
0.000000000
Quot.
7160.305
7160.542
7160.543
7160.543
Hier ist jeweils die Abweichung vom exakten Resultat im jeweiligen Schritt angegeben, und das Verhltnis zweier aufeinanderfolgender Abweichungen.
In der Variante I verringert sich der Fehler pro Schritt auf etwa 1/26 des vorigen; Variante VI ist
mit etwa 1/31 nicht viel besser.
Das Einbeziehen von x3 in den aufgelsten Teil ist wirksam: Der Fehler nimmt pro Schritt auf etwa
1/129 ab!
Die aufwendige Formel der Variante VIII war die Mhe wert: Die Verringerung mit dem Faktor
1/7161 lt den Fehler sehr schnell verschwinden. Pro Schritt gewinnt man fast vier Dezimalstellen!
brigens ist 01 (x ) = 0.038873 . . . = 1/25.7246 . . . und 08 (x ) = 0.000 139 65 . . . = 1/7 160.54 . . . .
Zwei abschlieende Bemerkungen:
1. Die Abnahme des Fehlers erfolgt mit einem ziemlich konstanten Faktor; sie wird nicht immer
rapider, je nher man der Lsung kommt, wie das beim Newton-Verfahren der Fall ist.
2. Bei der Fixpunktiteration erfordert jedes Problem eine spezifische Behandlung.
Hier ist die Beachtung von x4 und ggfs. der anderen hheren Potenzen durch den Umstand gerechtfertigt, da x > 20 relativ gro ist und hohe Potenzen dominieren.
18
Im Problem f1 (x) = x4 x3 8x2 3x + 0.296304 = 0 liegt zumindest eine Nullstelle nahe bei Null,
und dann ist 3x bedeutsamer als die Potenzen von x; eine Vorgehensweise analog zur Variante V
ist hier sinnvoll:
k
0
1
2
3
4
xk
0.000000
0.098768
0.072465
0.084647
0.079476
k
5
6
7
8
9
xk
0.081770
0.080770
0.081210
0.081017
0.081102
k
10
11
12
13
14
xk
0.081065
0.081081
0.081074
0.081077
0.081076
Die Konvergenz des Verfahrens ist diesmal aber recht langsam; man sollte die 8x2 einbeziehen.
Bei f2 (x) = x4 x3 8x2 300 000x+296 304 ist ebenfalls nach dem x im linearen Term aufzulsen.
8. Sei a die gesuchte Kantenlnge des Wrfels (in cm), so ergibt sich die Gesamtmasse (in g) zu
m(a) = 1.056a3 + 3 2.385 a = 83 550.
Im ersten Schritt wird die Masse des Bandes komplett vernachlssigt, damit erhlt man
r
3 83 550
a1 =
= 42.930 .
1.056
Um diesen Wrfel zu befestigen braucht man zustzlich ein Band der Masse 342.9302.385 = 307.2.
Diese Masse wird von der des Wrfel abgezogen; seine Kantenlnge ndert sich damit auf
r
3 83 550 307.2
= 43.663 .
a2 =
1.056
Damit korrigiert sich die Masse des Bandes zu 3 43.663 2.385 = 312.4, und die Kantenlnge zu
r
3 83 550 312.4
a3 =
= 43.662 .
1.056
Die letzte nderung lag im Bereich von 0.01mm; eine weitere Rechnung ist also sicher nicht notwendig.
9. Bei x < 0 sind alle Summanden negativ, und bei x > 20 sind alle positiv. Dort gibt es also keine
Nullstellen.
Es gilt
20
20
X
X
1
1
f (20 x) =
=
,
20 x k
xl
k=0
l=0
die Funktion ist also ungerade bzgl. x = 10. Es gengt folglich, z. B. die kleinste Nullstelle x zu
finden.
Diese liegt offenbar zwischen 0 und 1, und es mu
20
X
1
1
=
x
k x
x =
k=1
1
20
X
k=1
gelten.
Aus
1
k x
20
20
X
X
1
1
1
=
>
= 3.5977
x
kx
k
k=1
k=1
folgt x < 1/3.5977 = 0.278 . Mithin ist x nahe Null zu erwarten und 1/x der wesentlichste
Summand in der Summe. In der letzten Form wird eine Fixpunktiteration angewandt; Startwert ist
x0 = 0.
Sei qn = (xn x )/(xn1 x ):
19
n
1
2
3
4
5
6
xn
0.277952297
0.240042221
0.245726994
0.244887072
0.245011440
0.244993031
xn x
0.032956892
-0.004953183
0.000731589
-0.000108333
0.000016036
-0.000002374
qn
-0.15029
-0.14770
-0.14808
-0.14802
-0.14803
n
7
8
9
10
11
12
xn
0.244995756
0.244995352
0.244995412
0.244995403
0.244995405
0.244995404
xn x
0.000000351
-0.000000052
0.000000008
-0.000000001
0.000000000
-0.000000000
qn
-0.14803
-0.14802
-0.14810
-0.14756
-0.15121
-0.12703
Die Konvergenz ist linear; der Fehler wechselt pro Schritt sein Vorzeichen und verringert sich betragsmig auf etwa ein Siebentel.
Der Quotient der Abweichungen stabilisiert sich; bei den letzten Werten kommt aber durch die
Rundungsfehler wieder Unruhe hinein. Die eigentlichen Werte sind schon so klein, da das Verhltnis nicht mehr exakt angegeben werden kann.
Wenn man eine schnellere Konvergenz wnscht - was sich bei einmaliger Lsung des Problems
nicht lohnt - ist eine sorgfltigere Behandlung der Gleichung anzuraten. Auch der zweite Summand
1/(x 1) liefert noch einen Wert, dessen Betrag grer als 1 ist. Es lohnt sich, ihn einzubeziehen:
20
0=
X 1
1
1
1
1
+
+
= +
+a
x x1
xk
x x1
k=0
2 + a 4 + a2
x1,2 =
2a
mit a 3.5977 + 1. Jedenfalls gilt a < 2.5 < 0, und folglich ist in der vorstehenden Formel die
Variante mit dem Pluszeichen vor der Wurzel zu verwenden:
p
ak 2 + 4 + a2k
xk+1 =
2ak
(man beachte: a hngt von x ab!).
Gestartet wird mit x0 = 0:
n
0
1
2
3
4
5
6
7
xn+1
0.253929810181
0.244649205084
0.245008787885
0.244994887006
0.244995424438
0.244995403660
0.244995404463
0.244995404432
an
-2.597739657144
-2.763596985294
-2.756967526469
-2.757223494370
-2.757213597738
-2.757213980357
-2.757213965564
-2.757213966136
xn+1 x
0.008934405748
-0.000346199349
0.000013383451
-0.000000517427
0.000000020005
-0.000000000773
0.000000000030
-0.000000000001
qn+1
-0.038749
-0.038658
-0.038662
-0.038662
-0.038662
-0.038662
-0.038660
Die Konvergenz hat sich merklich beschleunigt, der Betrag des Fehlers verringert sich jetzt pro
Schritt auf etwa 1/26 des vorigen.
10. In allen drei Fllen gilt: Es handelt sich um die Nullstelle eines kubischen Polynoms mit reellen
Koeffizienten, das folglich mindestens eine relle Nullstelle besitzen mu.
Die Ableitungen aller drei Funktionenausdrcke ist 3x2 + 1 1, mithin besitzt jede der drei Gleichungen genau eine Lsung.
Diese Lsung ist offenbar in jedem Falle positiv, und bei
a > 0 folgt aus x3 + x a = 0 zwingend
3
die Gltigkeit der beiden Ungleichungen
x < a und x < a. Im Resultat ist x also kleiner als der
eingeben. Es reicht auch aus, sich z. B. die letzten drei Stellen des jeweiligen Resultats zu merken
und mit der Rechnung aufzuhren, wenn diese sich reproduzieren - dann ist die Genauigkeit des
konkreten Taschenrechners ausgereizt.
(Die Konvergenzgeschwindigkeit der Fixpunktiteration xk+1 = (xk ) ergibt sich aus dem Faktor
0 (x ). Hier ist (x) = 0.21 x3 , 0 = 3x2 , und folglich 0 (0.201 . . .) = 0.1223.
Die Abweichungen der iterierten Werte sind x0 x = 0.008216 und x1 x = 0.001045 =
0.1272 0.008089, weiter x2 x = 0.000127 = 0.1215 (0.001045) usw.. Die Konvergenzordnung wird recht genau getroffen.)
Anstelle der Fixpunktiteration kann man auch das Newton-Verfahren mit der angegebenen Nullstellenfunktion f (x) = x3 + x 0.21 und f 0 (x) = 3x2 + 1 verwenden. Startwert sei 0.2, es resultiert:
k
0
1
2
3
xk
0.200000000000
0.201785714286
0.201784004215
0.201784004214
f (xk )
-0.002000000000
0.000001918960
0.000000000002
-
f 0 (xk )
1.120000000000
1.122152423469
1.122150353072
-
(Die Werte stammen von einem kleinen Programm, sie sind also Ausgaberundungen interner Werte.
Das kann man z. B. an der letzten Stelle von x2 erkennen - bei Rechnung echt mit den angegebenen
Zahlen mte dort eine 6 stehen.
Dasselbe trifft auf x3 zu. Man vergleiche mit der Aufgabe mit den Entfernungen nach Astadt und
Edorf!)
Das Sekantenverfahren lst die Aufgabe ebenfalls problemlos und fast ebenso effektiv wie das
Newton-Verfahren. Es bietet hier kaum Vorteile, da die Auswertung von f 0 (x) im vorliegenden
Fall keine Probleme macht.
Mit den Startwerten x1 und x2 und der Vorgehensweise Das vorige x mit dem zugehrigen betragsgreren Funktionswert wird ersetzt durch
x 3 = x 1 k = x 1
x2 x1
f (x1 )
f (x2 ) f (x1 )
ergibt sich
k
0
1
2
3
x1
0.20000000000
0.20000000000
0.20178401186
0.20178401186
x2
0.21000000000
0.20177604120
0.20177604120
0.20178400421
f (x1 )
-0.00200000000
-0.00200000000
0.00000000858
0.00000000858
f (x2 )
0.00926100000
-0.00000893566
-0.00000893566
-0.00000000000
k
-0.00177604120
-0.00178401186
0.00000000765
0.00000000765
Die letzte Zeile bedeutet das Ende der Rechnung im Rahmen der gewhlten Ausgabegenauigkeit.
Das Programm, welches die obige Tabelle generierte, bricht brigens im bernchsten Schritt wegen
Division durch Null ab - die beiden Funktionswerte sind Null oder zumindest untereinander gleich,
was die Berechnung eines neuen k unmglich macht.
b) In x3 + x 2.1 = 0 liegt die Lsung offenbar ganz knapp ber 1. Dort sind x und x3 etwa
gleichgro, einen der beiden Ausdrcke als den wichtigeren anzusehen ist also nicht mglich. Die
Fixpunktiteration in ihrer einfachen Variante scheidet also aus.
Will man sie doch ins Spiel bringen, so kann man z. B. x = 1 + t setzen, dann wird (1 + t)3 + (1 +
t) 2.1 = 4t + 3t2 + t3 0.1 = 0, und in dieser Gleichung dominiert das lineare Glied, weshalb
t = 0.025 0.75t2 0.25t3 eine brauchbare Iterationsvorschrift abgibt.
In jedem Falle liefert (1 + t)3 + (1 + t) 2.1 = 4t + 3t2 + t3 0.1 (1 + 3t) + (1 + t) 2.1 sofort
den recht guten Startwert x 1.025 bzw. t = 0.025.
Beginnend mit t0 = 0.025 also erhlt man so t1 = 0.024 527, weiter t2 = 0.024 545, dann t3 =
0.024 544, und das ist der Endwert. Mithin ist die Lsung x = 1.024 544.
Das Newton-Verfahren funktioniert analog und problemlos; bei x0 = 1.025 ist f (x0 ) = 0.001 891
und f 0 (x0 ) = 4.151 875, woraus sich x1 = 1.024 545 ergibt. Damit ist man so gut wie fertig: Aus
f (x1 ) = 0.000 002 folgt nur noch eine Korrektur von etwa einer halben Einheit der letzten Stelle
(die Ableitung nahe 4 vermutet).
Das Sekantenverfahren funktioniert ebenfalls gut, ist aber aufwendiger als das Newton-Verfahren
(letzteres lebt hier wesentlich von der einfachen Auswertung der Ableitung).
c) Hier ist 3 21 = 2.758 . . . < 21 die effektive obere Schranke fr das Resultat.
21
Jetzt ist die Lsung deutlich grer und damit dominiert x3 . Nach dem x
darin aufgelst hat man
3
21 x = (x) als Iterationsvorschrift fr die Fixpunktiteration. Mit x0 = 3 21 gestartet (oder, was
dasselbe ist, mit x1 = 0) wird also x0 = 2.758 924, x1 = 2.632 389, x2 = 2.638 462, x3 = 2.638 171,
x4 = 2.638 185, x5 = 2.633 185.
Damit hat sich der Wert auf sechs Nachkommastellen stabilisiert.
Startet man das Newton-Verfahren mit x0 = 3 21, so wird umgehend x1 = 2.643 173, dann x2 =
2.638 194 und danach stimmen die sechs Nachkommastellen.
11. Zunchst ist zu klren, wieviele Lsungen es gibt und wo sie ungefhr liegen.
Vor dem geistigen Auge sollte sich die gegebene Gleichung in Form von zwei Kurven manifestieren
(jeweils des Formelausdrucks auf der linken und rechten Seite der Gleichung), deren Schnittpunkte
gesucht sind.
Die linke Funktion l(x) ist definiert nur fr 19.34 2x 0, d. h. x 9.67. Sie nimmt nur
nichtnegative Werte an und ist streng monoton fallend.
Rechts steht eine berall definierte positive Funktion r(x), die streng monoton wchst. Wegen dieser
Monotonie kann es nur einen Schnittpunkt x geben.
Tatschlich, angenommen es deren gibt zwei: In x1 und x2 mit x2 > x1 gelte l(x1 ) = r(x1 ) und
l(x2 ) = r(x2 ), dann steht das im Widerspruch zur Folgerung aus der strengen Monotonie:
l(x2 ) < l(x1 ) = r(x1 ) < r(x2 ).
ln 19.34 = 1.481.
Man hat also wegen l(0) > r(0) und l(1.481) < r(1.481) die engere Einschlieung 0 < x < 1.481.
Dort ist r0 (x) = ex > 1 und 0 > l0 (x) = 1/ 19.34 2x > 1/ 19.34 2 1.481 = 0.247,
mithin ndert sich r(x) stark und
l(x) schwach. Zur Fixpunktiteration kann man also nach dem x
in r(x) auflsen: x = (x) = ln 19.34 2x.
Gestartet wird einfach mit (etwa) der Mitte des gefundenen Intervalls: x0 = (1.481 + 0)/2 = 0.74,
das gibt x1 = (x0 ) = 1.441 282, weiter wird x2 = 1.400 389, dann x3 = 1.402 867, x4 = 1.402 717
und x5 = 1.402 727. Diese Zahl korrigiert sich nur noch zu x6 = 1.402 726.
Man bringe ggfs. 19.34 in den Speicher, dann sind whrend der Rechnung keinerlei Eingaben ntig.
Man kann auch das Newton-Verfahren nutzen, es sei fairerweise derselbe Startwert verwendet.
Nach Standardumformung gewinnt man aus l(x) = r(x) eine Nullstellenaufgabe fr die Funktion
f (x) = l(x) r(x).
Also:
1
f (x) = 19.34 2x ex = 0 , f 0 (x) =
ex .
19.34 2x
Es ist f (0.74) = 2.130 178 und f 0 (0.74) = 2.332 560, folglich x1 = 0.74 + 0.913 234 = 1.653 234.
(Bei solchen groben Werten war eine Rechnung mit sechs Nachkommastellen kaum gerechtfertig.)
Weiter: f (x1 ) = 1.219 659 und f 0 (x1 ) = 5.473 587, damit x2 = x1 0.222 826 = 1.430 408.
Nochmals: f (x2 ) = 0.120 949 und f 0 (x2 ) = 4.426 743, also x3 = x2 0.027 322 = 1.403 086.
f (x3 ) = 0.001 552, f 0 (x3 ) = 4.313 664, x4 = x3 0.000 360 = 1.402 726.
f (x3 ) = 0.001 552, f 0 (x3 ) = 4.313 664, x4 = x3 0.000 360 = 1.402 726.
Nun ist f (x4 ) = 0 (im Rahmen von 6 Stellen nach dem Komma), der Ableitungswert bleibt fast
unverndert, also sei x4 zu akzeptieren.
Bemerkung 1: Startet man naiverweise bei x0 = 2, so ist der Funktionswert f (2) = 4.696 ziemlich gro in Bezug auf den recht flachen Verlauf von f 0 (3) = 0.342, weshalb die Tangente, die
man als Ersatz fr die Funktionskurve nimmt, die x-Achse erst in x1 = 11.717 schneidet. Im nchsten Schritt bricht das Programm wegen Wurzel aus negativer Zahl! ab.
Bemerkung 2: Die verwendete Variante des Newton-Verfahrens war ungeschickt.
Prinzipiell: Statt der Gleichung f (x) = 0 kann man auch jede andere Gleichung F (x) = 0
lsen, wenn diese nur dieselben Lsungen hat.
Hier bietet es sich an, die Ausgangsgleichung zu quadrieren: 19.34 2x = e2x , anstatt die vorstehend erwhnte Standardumformung zu nutzen. Letztere funktioniert immer, was unbestreitbar ein
Vorteil ist, aber oftmals herzlich schlecht.
Die Operation des Quadrierens kann bekanntlich Scheinlsungen generieren: Wenn die beiden Werte
rechts und links vom Gleichheitszeichen betragsmig gleich sind, sich aber im Vorzeichen unterscheiden, so entsteht aus dieser Ungleichheit nach der Bildung der Quadrate eine Gleichheit.
Hier sind r(x) und l(x) beide positiv, der beschriebene Fall kann also nicht eintreten. Man gelangt
zu der Nullstellengleichung F (x) = 19.34 2x e2x = 0. Nun kann man noch ein briges tun und
22
2x = t setzen, dann bleibt (t) = 19.34 t et = 0 und 0 (t) = 1 et . Diese Ausdrcke werten
sich wesentlich bequemer aus.
Die letzte Gleichung sei noch mit dem Sekantenverfahren behandelt. Wegen offenbar 0 < t <
ln 19.34 = 2.96 kann man diesen handlichen Bereich durch Auswerten einiger Funktionswerte etwas
besser kennenlernen. Halten wir fest: (2.96) < 0, es sei in t = 2 nachgesehen: (2) = 9.95 > 0,
also interessiert (2.5) = 4.65 > 0, dann (2.8) = 0.09535 > 0 und nun (2.81) = 0.07992 < 0.
Damit ist eine ordentliche Einschlieung der Nullstelle gefunden.
Ein besserer Wert resultiert aus
t3 = 2.8
2.81 2.8
0.09535 = 2.805 440 .
0.07992 0.09535
Der Wert bleibt auf sechs Stellen genau stehen, damit wre x = t /2 = 1.402 726.
Bemerkung 3: Eingangs - und zwischendurch - wurde eine Menge von Hilfsberlegungen angestellt.
Mu man die alle machen? Sie kosten eine Menge Zeit und Aufwand?
Nur, wenn man jedem einfachen Formelausdruck mit erschrockenen Kulleraugen begegnet, wenn
man
fr das Bild von ex den grafikfhigen Taschenrechner einschalten mu und nicht wei, da
y = 19.34 2x wegen y 2 = 19.34 2x eine gekippte und nach links geffnete (Halb-)Parabel
ergibt, mit dem Scheitelpunkt auf der positiven x-Achse, der wegen 16 < 19.34 < 25 zwischen
x
x
= 4 undx = 5 liegt. Das diese0 Kurve mithin fllt, whrend die von e bekanntlich steigt. Das
19.34 > 16 = 4 mehr ist als e = 1, was einem der Taschenrechner sagt, wenn man sich bei ihm
danach erkundigt, wofr man aber wissen mte, wozu man diesen Wert braucht, was schon so gut
wie gleichbedeutend ist mit seiner Kenntnis.
Alles klar?
12. Es sei x0 die Abszisse des Schnittpunkts, dann mu also ex0 = x20 + ax0 und ex0 = 2x0 + a gelten.
Man erhlt zunchst die Gleichung x20 + ax0 = 2x0 + a, die man nutzen sollte, um eine der beiden
Unbekannten aus dem System zu eliminieren und zu einer einzigen Gleichung zu gelangen.
Sinnvollerweise wird a durch x0 ausgedrckt, denn ansonsten erhielte man einen Wurzelausdruck:
a=
2x0 x20
x0 1
2x0 x20
2x2 2x0 + 2x0 x20
x20
= 0
=
.
x0 1
x0 1
x0 1
x20
x0 1
(x0 1) ex0
x20
zu lsen.
Die linke Seite der ersten Gleichung ist stets positiv, die rechte ist bei x0 = 1 nicht definiert und
darunter nichtpositiv, also kann prinzipiell nur x0 > 1 gelten.
Analoges gilt fr die zweite Gleichung; ihre linke Seite ist bei x0 = 1 kleiner als die rechte.
Die Ableitung der linken Seite ist x0 ex0 , und die der rechten ist 2x0 . Die linke Funktion steigt also
in x0 = 1 bereits strker als die rechte, und diese Differenz nimmt zu. Mithin gibt es genau eine
Lsung x0 .
Wegen (2 1) e2 = e2 > 22 liegt x0 echt zwischen 1 und 2. Damit ist es schon einigermaen
eingegrenzt.
Newton-Verfahren mit f (x) = (x 1)ex x2 , Startwert x1 = 1.5:
f (x1 ) = 0.009 155 465, f 0 (x1 ) = 3.722 533 605, x2 = x1 (0.002 459 471) = 1.502 459 471
f (x2 ) = 0.000 027 876, f 0 (x2 ) = 3.745 218 617, x3 = x2 0.000 007 443 = 1.502 452 028.
Die nchste Korrektur wre etwa das Quadrat der letzten, der gewonnene Wert kann also bereits
akzeptiert werden. Aus x0 = 1.502 452 028 folgt a = 1.487 787 726.
Ergebnis: Die gesuchte quadratische Funktion ist y = x2 + 1.487 787 726x, sie schneidet (berhrt)
die Exponentialfunktion in x0 = 1.502 452 028.
In der nachstehenden Grafik ist die Exponentialfunktion als durchgehende, die Parabel dagegen als
gestrichelte Kurve dargestellt:
23
..... 8
....
....
.
...
....
...
....
.
.
..
.
. .
...
.... ..
........ ...
..
.
.
.
...
..... ...
..
........ .
......
.
.
.
.. 6
.... ...
...
..........
.
.
.
.
.
.
..
.
...
.......
......
..
.
.
.
.
...
......
..
......
...
.
.
.
.
..
......
...
........ ....
.
.
.
.
.
.
.....
.
.
........
.... 4
...
........
.
.
.
.
.
.
...
.
...
.
.
.
.
.
.
.
.
...
...........
.
.
.
.
.
.
.
.
...
.
.
...
....
...................
..
...
.
.
.
.
.
.
.
.
.
...
............ .....
.
.
.
.
.
.
.
.
..
..
.
....
..
............. .... ....
.
..
.
.
.
.
.
.
.
.
.
.
...
........ ..... ...
.
.
.
.
...
.
.
.
.
.
.
.
..
.
....
......
... 2
............... ..... ..... .
.
..
.
.
.
.
.
.
.
.
.
.
.
...
.
.
..........
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....
...
.
..
.......
..... ...
.....................
.
.
.
....
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.....
.....
.
.
.
.
.
.............................
...
.
...
...
.... .....
...
.
.
.
.
.
.
....
. .....
.
.
.
.
.
.
.
....
...
.
.....
...............................................................................................................................................................................................................1......................................................................................................x....0.....................................................................................2.....
13. Es ist
q
Z a
Z a
2
x+1
1 2x
1
ln(x2 + 1)
= ln(a + 1) + arctan a .
dx
=
+
+
arctan
x
dx
=
2
2 x2 + 1 x2 + 1
2
2
0
0 x +1
0
Nach Multiplikation mit 2 bleibt die bequeme Gleichung
ln(a2 + 1) + 2 arctan a = 4 .
Betrachten wir zunchst den Fall a > 0, dann liegt der Arkustangens zwischen 0 und /2 = 1.57 . . .,
was ln(a2 + 1) > 4 2 2 = 3 erfordert. Damit wre aber ln(a2 + 1) > 3 oder a2 + 1 > e3 mit
folglich ungefhr a > e1.5 111.
Jedenfalls ist a recht gro und der Arkustangens mithin sehr nahe bei /2, mit einem uerst flachen
Verlauf. Man kann nach dem x im vergleichsweise (aber nur vergleichsweise!) steilen Logarithmus
auflsen und eine Fixpunktitertion, beginnend mit a0 = 111, starten:
p
a = (a) = exp(4 2 arctan a) 1 .
Daraus wird a1 = 112.3207, weiter a2 = 112.3088, dann a3 = 112.3089, und dieser Wert bleibt
stehen.
Eine Lsung der Gleichung f (a) = ln(a2 + 1) + 2 arctan a 4 = 0 mit dem Newton-Verfahren ist
ebenso mglich. Besondere Mhe mit der Berechnung von f 0 (a) mu man sich nicht machen, denn
die Ableitung ist offensichtlich 2(a + 1)/(a2 + 1) (dank der Multiplikation mit 2).
Nach Start in a0 = 111 wird f (a0 ) = 0.02365393, f 0 (a0 ) = 0.01817886707, a1 = a0 +1.301177346 =
112.3011773.
Weiter: f (a1 ) = 0.00013877, f 0 (a1 ) = 0.01796641244, a2 = a1 + 0.007723856973 = 112.308901.
Man mu etwas mehr rechnen (pro Schritt) als mit der Fixpunktiteration. Die Anzahl der Schritte
ist etwas kleiner. Das gilt natrlich nur fr das konkrete Beispiel.
Sei nun a < 0, dann liegt der Arkustangens zwischen 0 und /2 = 1.57 . . . und folglich wird
4 < ln(a2 + 1) < 5, also kann man 2576 e2.5 < a < e2 535 erwarten.
Fixpunktiteration liefert mit a0 = 535 den ziemlich groen Schritt zu a1 = 2571.1599, daraus
wird a2 = 2574.9686, dann a4 = 2574.9701, und dieser Wert ndert sich nicht mehr.
14. Das Polynom hat nur eine einzige reelle Nullstelle: 9.105 606 544.
Es ist offensichtlich (negatives Absolutglied, positiver Faktor vor hchster Potenz), da zumindest
eine positive reelle Nullstelle existieren mu.
Abtasttabelle:
24
f (x)
-13.0778
-159.0656
-646.5772
-1625.9696
-3080.8742
10
f (x)
-4708.1968
-5798.1176
-5114.0912
-772.8466
9875.6128
Startwert sei x0 = 9.
x1 = x0
f (x0 )
772.8466
= x0
= 9 + 0.11067081097753307498 = 9.1106708109775330750
f 0 (x0 )
6983.2921
x2 = x1
38.87056904101557691
f (x1 )
= x1
= 9.1056175005120195144
f 0 (x1 )
7692.0999226722194847
x3 = x2
f (x2 )
0.08391722687525639
= x2
= 9.1056065436878908119
0
f (x2 )
7658.9005983427989748
x4 = x3
f (x3 )
3.9387997768 107
=
x
= 9.1056065436364625853
3
f 0 (x3 )
7658.8287016639730167
x5 = x4
f (x4 )
2.8 1016
=
x
= 9.1056065436364625853
4
f 0 (x4 )
7658.8287013265112760
Um die Spannung nicht zu verderben sei zum Fall x0 = 0.66 nichts verraten. Man sollte aber
mglichst mit einem Programm rechnen, auf jeden Fall sorgfltig und mit voller Stellenzahl.
15. Die Lnge des Stricks sei r; die von der Ziege erreichte Flche ist die Summe zweier Kreissegmente,
die von den Winkeln (bezglich des Zentrums W der Wiese) und (bezglich des Pflocks P )
gebildet werden:
...
...
..
......s.... Q
.
.
.
.
.
.
.
.
.
.
.
.
.
.. .
................... .............
........................
.
... ... ...
.
.
.
.
.
.
.
.
.
..........
.
... ... ...
.
.
.
.
.
.......
... ... ....
.
.
.
.
.
.
.
.
.
.
............
... .... ...
.
.
.
.
.
.
.
.
...... ......
... ... ...
.
.
.
.
.
.
.
.
..
......
.... .... ....
.
.
.
.
.
.
.
.
.
.
.
.
......
... ..... ....... ..
.
.
.
.
.
.
.
.
.
.
.
.
......
... ..... ...... ....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ....
..... .. ...
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
... ...
.....
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ....
. .....
.
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
......
.. ..... ..
.
.
.
.
.
... ..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. ....... ..... .....
.... ...
......
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
... ...
... .
... ..............
.
.........
.... ..... ..
.
... ....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
....
......
...... ........ ..... ..... .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..... P
. ..H
W....................... ..... ....
.
.
.
.
.
.
.........................t........................................................................................................................................................................................................................................................................................................t.......................
..........
...
... ...
...
.......... .....
...
.....
.......
..........
.
.
.
...
. ..
........
... ...................
...
. ..... .. ....
.
..........
.
.
.
...
..........
.... ............... .....
..........
.
.
. ...
...
..........
...
..........
...
...
.. .....
..........
.
...
...
. ..
..........
...
..........
....
.. .....
..........
.
.
...
... .. ....
..........
...
..........
... .. ..
...
..........
.... .. ..
.......... .......
.......... ....
... .. ..
.......... .....
... .. ..
..............
..........
... .. ..
...........
.... .. ..
..................
...................
.................... ..........
.................. .... .
......s. 0
... Q
.. .
25
Die beiden Segmente liegen rechts und links der Linie QQ0 .
Es ist |W Q| = R und |P Q| = r. Die gestrichelte Linie teilt den Abschnitt P Q in zwei gleiche
Hlften; mit W Q bildet sie den Winkel /4.
Die Flche des rechten Segments ist S1 = R2 ( sin )/2 ( im Bogenma); die des linken wird
analog S2 = r2 ( sin )/2.
Zur Begrndung: Die Flche Fs des Sektors W QQ0 W ist proportional zum Anteil des Bogens QQ0
(d. h. ) am Umfang des Kreises, bezogen auf die gesamte Kreisflche:
Fs =
R2
R2 =
.
2
2
Die gesuchte Flche Fr des rechten Segments ist nun gerdae die Flche Fs dieses Sektors minus der
Flche Fd des Dreiecks W QQ0 W .
Letztere ist zweimal die Flche des Dreiecks W HQW . Dieses ist rechtwinklig, seine Grundlinie ist
R cos 2 , und die Hhe wird R sin 2 . Es folgt - und wegen 2 sin cos = sin 2 Fd = 2
Es ist also Fr = Fs Fd =
R2
2
R2
1
R cos R sin =
sin .
2
2
2
2
R2
2
Beide Flchen sollen nun durch ausgedrckt werden; ohne Beschrnkung der Allgemeinheit kann
man R = 1 setzen.
Die gestrichelte Linie steht senkrecht auf P Q, folglich ist sin(/4) = r/2. Weiterhin bildet das Lot
aus Q auf die horizontale Gerade sowohl mit W als auch mit P ein rechtwinliges Dreieck; dort ist
sin(/2) = r sin(/2). Folglich wird
r = 2 sin
4
und
sin
sin
2 = 2 arcsin
2 = 2 arcsin cos =
= 2 arcsin
r
4
2 sin
4
= 2
=
.
= 2 arcsin sin
2
4
2
4
2
( Mit Elementargeometrie: Die Strecke P W wird nach links verlngert, bis sie im Punkt M auf
den gegenberliegenden Rand der Wiese trifft. Die Strecken M Q und M Q0 bilden den Winkel ,
der ein Peripheriewinkel ber QQ0 ist. Dieser ist halb so gro wie der entsprechende Zentriwinkel
. - Andererseits ist der Winkel zwischen M Q und QP laut dem Satz des Thales ein rechter,
denn M P ist ein Durchmesser, und Q liegt auf dem Kreisbogen. Damit ist im Dreieck M QP :
/2 + /2 + /2 = , woraus sofort die obige Beziehung folgt.)
Fr die Gesamtflche S ergibt sich damit (wegen R = 1) die Forderung
S() =
sin
12
+ 2 sin2 sin
=
2
4
2
2
2
sin
= 0
4
2
2
Der links stehende Ausdruck definiert eine Funktion in , deren Kurve die x-Achse genau einmal
schneidet, was auch aus der Anschauung des Problems zu erwarten ist:
26
1.5
........
........
.
.
.
.
.
.
.
.
..
......
........
.
.
.
.
.
.
0.5
.....
......
.
.
.
.
.
.
........
0.0
......
.
.
.
.
.
..
0.0 0.2 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0 2.2.............2.4
2.6 2.8 3.0 3.2
..
.
.
.
.
.
.
0.5
.
.
........
......
.
.
.
.
.
..
........
1.0
......
.
.
.
.
.
......
........
.
.
.
.
1.5
.
.
.
......
.......
.
.
.
.
.
.
.
.
..
........
2.0
.........
.
.
.
.
.
.
.
.........
..........
.
.
.
.
.
.
.
.
2.5
.
.
.
...........
.............
.
.
.
.
.
.
.
.
.
.
.
.
.......
3.0 .........................................................
1.0
3.5
Angenommen, man schtzt grob 0 = /2 = 1.570 . . ., so ergibt das Newton - Verfahren die folgende Tabelle:
k
f (k )
f 0 (k )
Korrektur
0
1
2
3
4
1.57079632679490
2.53400460678756
2.47159452243727
2.47179384680530
2.47179384855983
-1.60478311240208
0.11163603019513
-0.00035875464192
0.315783 108
0
1.66608110180938
1.78874986882823
1.79985340208377
1.79982171270042
-
0.963208279992655
-0.0624100843502844
0.000199324368031671
0.175452378294851 108
-
o
Es resultiert = 2.471 793 848 6 . . . =141.62
Die Flche der beiden Sektoren lt sich auch durch zwei Integrale, die r enthalten, ausdrcken.
Man erhlt dann eine - allerdings nicht einfachere - Gleichung direkt in r.
Mit Hilfe der sogenannten Monte - Carlo - Methode kann man zu vielen Problemen erstaunlich
leicht eine wenn auch vielleicht nicht sehr genaue Lsung finden. Das bietet sich hier ebenfalls an.
Die Idee des Verfahrens besteht darin, sehr viele zufllige Experimente zu machen und die Ergebnisse zu analysieren.
Es sei ein Wert fr die Stricklnge r vorgegeben. Zu ihm soll ermittelt werden, welchen Anteil der
Wiese die Ziege dann abfressen kann.
In das Quadrat 1 x, y y wird mit dem Zufallszahlengenerator RANDOM zufllig ein Punkt
gelegt:
1:
Die erste Zeile ist nur die Initialisierung, speziell wird mit Randomize der Zufallszahlengenerator
auf einen Startwert eingestellt (wie das geschieht ist hier nicht festgelegt, da es sich in konkreten
Implementierungen unterscheidet). Die Variable rq wird eingefhrt, um die Berechnung von r2
nicht in jedem Schritt durchfhren zu mssen.
Zweite Zeile: Es wird eine Ziege in das Quadrat gesetzt, und zwar auf einen Punkt, dessen beide
Koordinaten gleichverteilte Zufallszahlen zwischen -1 und 1 sind. (RANDOM liefert gleichverteilte
(Pseudo-)Zufallszahlen im Bereich zwischen 0 und 1.)
27
Dritte Zeile: Wenn sich die Ziege auerhalb der Wiese befindet, so wird der Versuch abgebrochen.
Vierte Zeile: Der Versuch wird in s gezhlt. Ist die Ziege weniger als r von der Anpflockstelle entfernt, so wird auch das in w gezhlt.
Fnfte Zeile: Alle tausend gewertete Versuche wird mitgeteilt, wie oft die Ziege innerhalb der Stricklnge war, und welcher Anteil w/s dies ist.
Wenn wir ein beliebiges Gebiet G der Wiese betrachten und einen Punkt zufllig (gleichverteilt)
auf die Wiese werfen, so ist die Wahrscheinlichkeit pG , da er in G gert, gerade das Verhltnis der
Flche FG von G zur Gesamtflche FW der Wiese: pG = FG /FW .
Wenn man nun s Punkte auf die Wiese wirft (mit einer groen Zahl s), so ist das Verhltnis der w
Punkte, die dabei in G landen, ziemlich genau diese Wahrscheinlichkeit pG . G ist im vorliegenden
Fall der durch die Seillnge r definierte abzufressende Teil der Wiese.
Es folgt nherungsweise w/s = pG = FG /FW , und das letzte Verhltnis sollte laut Aufgabenstellung
gerade 1/2 sein. Also ist r richtig gewhlt, wenn sich w/s auf 0.5 einstellt.
Bei r = 1 erhielt ich zu s = 1000 den Wert w = 391. Letzterer ist keine Naturkonstante, denn
bei einer anderen Initialisierung des Zufallszahlengenerators wre sicher ein anderer Wert erhalten
worden.
Wenn man zehnmal wrfelt und die gezeigten Augen addiert, so kommt in der Regel ein Wert nahe
35 heraus, aber nicht jedesmal derselbe.
Bei s = 2000 ergab sich w = 759, das Verhltnis bewegt sich von 0.391 zu 0.3795.
Die weiteren Ergebnisse sind in dieser Tabelle dargestellt, wobei die Resultate zeilenweise nach jeweils 1000 Versuchen ausgegeben wurden. Der Wert rechts unten ist also das Ergebnis nach 100 000
Experimenten.
0.391
0.390
0.388
0.389
0.391
0.391
0.392
0.392
0.391
0.391
0.380
0.392
0.390
0.389
0.391
0.391
0.392
0.391
0.391
0.391
0.379
0.391
0.390
0.390
0.391
0.392
0.392
0.391
0.391
0.391
0.382
0.392
0.390
0.389
0.392
0.391
0.391
0.391
0.391
0.391
0.379
0.390
0.390
0.389
0.391
0.392
0.392
0.391
0.391
0.390
0.379
0.389
0.389
0.390
0.391
0.392
0.392
0.391
0.391
0.390
0.382
0.389
0.389
0.390
0.391
0.392
0.391
0.391
0.391
0.391
0.383
0.389
0.388
0.390
0.391
0.392
0.392
0.391
0.391
0.391
0.384
0.389
0.388
0.390
0.391
0.392
0.392
0.391
0.391
0.391
0.388
0.389
0.388
0.390
0.391
0.392
0.392
0.391
0.391
0.391
Grafisch veranschaulicht:
.... w/s
... ...
....
.... ............................ ....... .............
.... ..
.. ......... . . . . ............ . . . . . .. . . ........................... .............................. ... . . . . . . . ... . .... . . .............................................................................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0.390 ... ...
............... . ....... ...............
.....
... ...
..
...........
...
.... ....
.... ....
..
0.385 ............... . . . . . .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
... ...
..
.... .... ... .....
... .... .... .
0.380 ......... ....... ........
Experimente
...............................................................................................................................................................................................................................................................................................................................................................................................
..
...
25 000
50 000
75 000
100 000
.
Man kann anscheinend 0.391 als Ergebnis akzeptieren. Mit r = 1 war der Strick der Ziege zu kurz,
sie konnte nicht einmal 40% der Wiese abgrasen. Erhhen wir auf r = 1.5, dann stabilisieren sich
die Werte analog auf etwa 0.742.
Das ist deutlich mehr als die Hlfte der Wiese. Zur Schtzung eines besseren r wenden wir das
Sekantenverfahren an, da wir auer Funktionswerten nichts zur Verfgung haben.
Man htte 0.391 um 0.109 auf 0.500 korrigieren mssen, statt dessen ist man bers Ziel hinausgeschossen und hat 0.742 - 0.391 = 0.351 hinzugefgt. Die Korrektur von r von 1 auf 1.5 ist also auf
109/351 zu verringern:
109
r = 1.0 +
0.5 = 1.0 + 0.16 = 1.16 .
351
Damit ergab sich nach wiederum 100 000 Experimenten ein Wert von 0.500.
Die Genauigkeit, die man von diesem Ergebnis zu erwarten hat, ist nicht berauschend, aber dafr
war das Programm und der sonstige theoretische Aufwand lachhaft gering. Der Computer hatte
28
etwas mehr Arbeit, aber auch sie hielt sich in der Grenordnung weniger Sekunden.
Das ist oftmals der Vorteil einer solchen stochastischen Simulation(Monte - Carlo - Methode): Man
kann von einem recht elementaren Problemverstndnis ausgehehen, ein vergleichsweise einfaches
Programm schreiben und bekommt ziemlich schnell Resultate.
Es soll beispielsweise (hat nichts mit der Ziege zu tun) ein Proze optimiert werden. Das mathematische Modell ist erkennbar aufwendig, durch eine simple Simulation ergibt sich aber, da
es anscheinend zwei verschiedene Maxima gibt. Diese Erscheinung war unerwartet, besttigt sich
aber nach Kontrolle der Simulation erneut. Nun gibt es zwei Mglichkeiten: Entweder ist hundertprozentig sicher, da es nur ein Optimum geben kann, dann ist im mathematischen Modell ein
fundamentaler Denkfehler. Nicht auszudenken, wenn man einen unsinnigen Formelsatz aufwendig
programmiert und ausgewertet htte. Oder aber man begreift, da zwei Maxima tatschlich zutreffen und das die ursprngliche Vorstellung gewisse Aspekte nicht bercksichtigte. In jedem Falle
hat man nach der Simulation ein besseres Problemverstndnis als zuvor. Und wenn man dann unterstellt, das Ergebnis der Simulation hat einen in puncto Genauigkeit nicht befriedigt - noch
einmal exakt rechnet, so hat man das grobe Ergebnis als Kontrolle und Schutz vor groben Fehlern.
Man knnte auf den Gedanken kommen, in der vorstehenden Simulation die Anzahl der Experimente einfach zu erhhen - auf eine Million, oder zehn Millionen ... . Es ist kein Problem, den
Computer zehn Minuten arbeiten zu lassen. - Ich befrchte aber, da die Genauigkeit irgendwann
effektiv nicht mehr wchst, und zwar wegen eines mglichen Dreckeffekts.
RANDOM liefert keine echten Zufallszahlen (natrlichen Ursprungs, quasi Bio-Zufallszahlen. Diese
wren z. B. generierbar, indem man in einem Byte sukzessive 1 addiert, wobei es immer wieder Null
wird - ein zyklischer Proze. An ein radioaktives Isotop ist ein Zhlrohr angebracht, und lst ein
Zerfall einen Impuls aus, so wird der momentane Inhalt jenes Bytes abgespeichert. Je drei derartige
Bytes bilden dann die Mantisse einer Zufallszahl. Unterstellt, da im durchschnittlichen Abstand
zweier Zerfallsereignisse der Zhlzyklus sehr oft durchlaufen wird erhlt man so wirklich zufllige
Zahlen. Allerdings bei jedem Programmlauf andere, weshalb ein konkretes Ergebnis nicht absolut
genau reproduzierbar ist.), sondern von einem Algorithmus rekursiv erzeugte. Hat man eine gute
Implementierung als Zufallszahlengenerator, so ist die entstehende Folge wirklichen Zufallszahlen
recht hnlich. Ein billiges Programm liefert vielleicht Werte, bei denen die Summe von 10 000 Stck
sehr genau bei 5 000 liegt - der Erwartungswert von 0.5 einer in [0,1] gleichverteilten Zufallsvariable
wird also ordentlich getroffen - aber es gibt irgendwelche Korrelationen. Im simpelsten Fall liefert
der Algorithmus nach einem groen Wert (ber 0.5) als nchste Zufallszahl mit einer Wahrscheinlichkeit von 0.56 einen Wert unter 0.5, und umgekehrt. In einer echten Zufallszahlenfolge besteht
zwischen zwei aufeinanderfolgenden Werten keine Kopplung! Hier wre das Resultat, da sich die
Punkte im Quadrat in der rechten oberen und in der linken unteren Ecke hufen, und die Aussage:
Die Wahrscheinlichkeit des Treffens in ein Gebiet G ist proportional zu dessen Flche. trifft nicht
mehr zu, sondern es spielt noch eine Rolle, wo dieses Gebiet konkret im Quadrat (bzw. Kreis) liegt.
Um derartige Effekte sicher auszuschlieen braucht man entweder eine saubere Dokumentation zur
Programmierumgebung (in der zumindest steht, da der Algorithmus aus dem folgenden Artikel
... implementiert wurde), oder man mu sich selbst durch einige statistische Tests ein Bild von der
Gte (der Zuflligkeit) der Pseudozufallszahlen machen. Das fordert Zeit und vor allem allerhand
Sachkenntnis. Der einfachere Weg ist es, dem Ergebnis der Rechnung nicht zu blind zu vertrauen
und es als nicht sehr genau anzusehen.
16. Legen wir ein (x, y)-Koordinatensystem durch das Zentrum von Wiese und Brunnen; der Strick sei
in x = 1, y = 0 befestigt. Auf jeden Fall erreicht die Ziege einen Halbkreis stlich des Befestigungspunktes, der vllig in der Wiese liegt. Da das gesamte Problem in dieser Darstellung symmetrisch
zur x-Achse ist reicht es aus, den Bereich y 0 zu betrachten.
Die Grenze des westlichen Bereichs ist eine Punktmenge, die sich am besten durch einen Parameter
beschreiben lt. Dies ist der Winkel, den der Brunnenradius in den Punkt, bis zu dem der Strick
am Brunnen anliegt, mit der positiven x-Achse bildet; offenbar ist 0 < .
29
y ...........
..
.............................................................
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...............
...
....
............
...............
..
..........
...........
.
.
.
.
.
.
.
.
.
.........
.
.
.
.
.
.
.
.
.
.
.
.........
.
.
.
.
.
.
.
.
.
.
.
.
.......
.
.
.
.
..
...
......
.
.
.
.
.
.
.
.
.....
.
.
.
.
.
.
.
.
.....
.
.
.
.....
...
....
.
.
.
.....
.
.
.
.
.
.
.
.....
.
.
.
...
....
.....
.
.
.
.
.
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...................
................
.
.
..
.
.
.
.
.
....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
.
.
.
.........
..
......
....
..
...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
...
.
.
.
..
.
.
.
.
.
.
.
.....
.
...
........... ..... ..... ..... ..... .... y
.
.
.
.
.
.. .
.
.
...
.
.
.
.
.
.
s
.
.
.
.
.
.
.
.....
.....
.
.
.
..
.
.
...
.....
....
.. ... .......
..
.
...
..
.
....
.....
.
....
..
...
.
.....
..
.. .. ..
.
.
.
.
.
...
.....
...
....
...
..
...
.....
.
...
...
.
.
.
.
.
.
..... ..
...
...
.
.
..... ...
...
...
...
...
..
..
........
.
...
..
..
...
......
..
...
... ..... ...
..
..
.
.
...
...
...
..
............................... ..
.
.
.
...
.
...
...
...
.. ......... ..
..
.
.
.
.
.
.
.
.
..
.
.
..
..
. . ...
...
.
.
.
..................................................................................................................................................................................................
.
. ..
.
.. .......................................................................................................................................................................
.
xs
..
x
R
l+1
-1
1
Der Punkt am Brunnenrand hat die Koordinaten (cos , sin ); von da ab geht der Strick tangential zum Brunnen, also senkrecht zum Radius. Sein Richtungsvektor ist folglich ( sin , cos )T ,
wobei bercksichtigt wurde, da er nach links geht. Dieser Vektor ist normiert; um den Endpunkt
des straff gespannten Stricks zu finden mu er nur noch mit der Lnge dieses Stcks multipliziert
werden. Am Brunnen liegt die Lnge an; es bleibt also l . Die Koordinaten des Endpunkts
sind folglich x() = cos (l ) sin und y() = sin + (l ) cos .
Aus diesem System kann man nicht eliminieren. Die Flche des westlichen Gebiets wird durch
numerische Integration mit Hilfe der Simpson - Regel berechnet. Zu diesem Zweck wird es in zwei
Teile unterteilt, indem man den Randpunkt (xs , ys ) bestimmt, der zu = /4 gehrt. Diese Unterteilung ist notwendig, da zu manchen x-Werten zwei y-Werte gehren, man also keine (bequeme)
Funktion y(x) integrieren kann. Andererseits existiert zwar eine Funktion x(y) (zumindest implizit
gegeben), bei y = l wird ihre Ableitung aber Unendlich, was eine schlechte Genauigkeit bei der
numerischen Integration erwarten lt.
Im Bereich xs x 1 wird y als Funktion von x aufgefat. Ihre Berechnung erfolgt in der Weise,
da aus x = cos (l ) sin zunchst numerisch bestimmt wird; davon ausgehend ist y leicht
zu berechnen.
Im linken Rest wird das x der Randpunkte als Funktion von y interpretiert; y luft von 0 bis ys .
Die Bestimmung des x aus y erfolgt analog, nur in umgekehrter Reihenfolge.
Die Grasflche, die der Ziege zur Verfgung steht, ist - nach Abzug der Brunnenflche - folglich
Z 1
Z ys
l2
F (l, R) =
+2
y(x) dx + 2
[xs x(y)] dy .
2
xs
0
Sie soll gleich der Hlfte der Grasflche sein, also (R2 )/2. Fr ein gegebenes R kann man daraus
- z. B. mit Hilfe des Sekantenverfahrens - das gesuchte l bestimmen. Die Integrale werden numerisch
berechnet; der Integrand ergibt sich nach der iterativen Lsung einer nichtlinearen Gleichung.
Die nachstehende Tabelle gibt einige Werte an:
R
10
7.189
11
7.892
12
8.596
13
9.300
14
10.004
15
10.710
16
11.415
17
12.120
18
12.826
19
13.532
20
14.238
21
14.944
22
15.650
23
16.356
24
17.063
25
17.769
26
18.475
27
19.182
28
19.889
29
20.595
30
21.302
31
22.008
32
22.715
33
23.422
34
24.128
35
24.835
36
25.542
37
26.249
38
26.956
39
27.662
30
17. Zum Finden des Startwerts kann man sich berlegen, da x nahe Null liegt, der Tangens also gut
durch sein Argument ersetzt werden kann.
Es gilt mithin (genhert) 0.22 x = x, also sei x0 = 0.11.
Man erhlt dann x1 = arctan(0.22x0 ) = 0.109 559 527 und x2 = arctan(0.22x1 ) = 0.109 994 713.
Es folgt = 0.109 994 713 0.109 559 527 = 0.000 435 186 und 2 = x2 2x1 + x0 = 0.000 875 660.
Das ergibt die Korrektur zu einem neuen Startwert
x0 = x2
weiter x1 = arctan(0.22 0.109 778 434) = 0.109 778 439, und danach
x2 = arctan(0.22 0.109 778 439) = 0.109 778 434.
Damit ist man schon an der Grenze der neunstelligen Genauigkeit und kann das Resultat getrost
auf sechs Stellen runden: x = 0.109 778.
Bei der Fixpunktiteration in der ursprnglichen Variante (ohne Verbesserung der Werte durch das
Aitkensche 2 -Verfahren) htte man mehr als 500 Schritte rechnen mssen, um die sechste Stelle
zu gewhrleisten.
18. Geginnend bei x0 = 3 erhlt man x1 = 5.1701, x2 = 5.4462, x3 = 5.5803, x4 = 5.6659.
Es wird vermutet, da sich der Konvergenzverlauf halbwegs eingestellt hat, und eine Schtzung des
Grenzwertes durchgefhrt, ausgehend von x2 :
x x2
(x3 x2 )2
0.13412
= 5.4462
= 5.4462 + 0.3708 = 5.8170
x4 2x3 + x2
0.0485
Mit diesem Schtzwert als Startgre wird die Fixpunktiteration erneut eingeleitet:
x0 = 5.8170, x1 = 5.8526, x2 = 5.8842, x3 = 5.9130, x4 = 5.9397 .
x x2
0.02882
(x3 x2 )2
= 5.8842
= 5.4462 + 0.3950 = 6.2792
x4 2x3 + x2
0.0021
(x3 x2 )2
0.01202
= 5.4462 + 0.16 = 6.44
= 6.2792
x4 2x3 + x2
0.0009
Die zweiten Differenzen sind inzwischen so klein geworden, da eine Vorhersage mit mehr als zwei
Nachkommastellen unsinnig wird. Man mte die Fixpunktiteration mit mehr Kommastellen ausfhren, um das 2 - Verfahren sinnvoll anwenden zu knnen. Es bleibt nur die Hoffnung, da man
schon nahe am Resultat ist.
x0 = 6.44, x1 = 6.4363 - jetzt nehmen die Folgeglieder ab. Man ist also mit der Schtzung ber
das Ziel hinausgeschossen. Es bleibt das Probieren mit kleineren Werten:
x0 = 6.4, x1 = 6.4022 - Werte wachsen!
x0 = 6.42, x1 = 6.4194 - Abnahme.
x0 = 6.41, x1 = 6.4108 - das Ergebnis liegt also zwischen 6.41 und 6.42.
x0 = 6.415, x1 = 6.4151 - das Ergebnis befindet sich zwischen 6.415 und 6.42, gerundet ist der
letzte Wert zutreffend.
Die Fixpunktiteration ist im betrachteten Fall uneffektiv. Der Grund ist der relativ starke Anstieg von (x). Dessen Ableitung hat bei x = 6.1 einen Maximalwert von 0.98, und in der Nhe
der Lsung noch 0.86. Das ist weniger als 1 und gewhrleistet lt. Theorie Konvergenz, aber recht
langsame. Damit liegen die vorhergesagten Resultate ziemlich weit weg, und bis dahin hat sich der
Konvergenzfaktor schon etwas gendert. Mithin fallen die Vorhersagen nur mig gut aus. Ohne sie
mte man aber noch wesentlich mehr rechnen.
19. Vorbetrachtung zum Problem:
Es wre Unfug, das Problem in dieser Form anzugehen. Statt f (x) = 0 lst man lieber g(x) = 0 mit
einer aus f gewonnenen Funktion g mit der Eigenschaft, dieselbe Nullstelle(n) wie f zu besitzen.
Hier bietet es sich zumindest an, die Gleichung mit dem Nenner des Bruchs zu multiplizieren.
p
x2 + 3x + 7.4
x 4.2
2
2
f (x) =
+ 7.1 = g(x) = x + 3x + 7.4 + 7.1
22 x + ln
6.8 + x
22 x2 + ln x4.2
6.8+x
p
= g(x) = x2 + 3x + 7.4 + 7.1
22 x2 + ln(x 4.2) ln(6.8 + x)
31
Die Existenz der Quadratwurzel setzt |x| 22 = 4.690 416 voraus.
Die Argumente der Logarithmen mssen beide positiv sein, also ist x > 4.2 zu fordern.
(Verzichtet man auf die Zerlegung, so ergibt sich x > 4.2 oder x < 6.8, der letzte Wert kommt
aber nicht in Betracht, denn sein Betrag bersteigt 4.69.)
Lt man x von oben gegen 4.2 streben, so geht der Logarithmus gegen , der Bruch folglich
gegen 0 (aus dem Negativen) und der Funktionswert folglich gegen +7.1.
Eine detaillierte Diskussion der Funktion ist mglich, aber jetzt ist es einfacher, sie durch einige
Werte abzutasten - der in Frage kommende Bereich ist klein. Das kann auch mit der Ausgangsfunktion y = f (x) geschehen.
4.3
4.4
4.5
4.6
22
x (4.2)
y
(7.1)
-6.58
-9.55
-10.75
-10.31
-6.69
7.1x
7.1
7.1
+
2
x 4.2 6.8 + x
22 x
Minimum, wenn f 0 (x) = 1 2e2x = 0 wird, also in x = ln 2=0.3466 und wchst von da an mit x
streng monoton. Sie wird beliebig gro. Es gibt folglich genau eine positive Lsung, die kleiner als
1.15 sein mu.
I) Probieren (Intervallhalbierung):
Es ist f (0) = 1, f (1) = 1.135 < 1.15 und f (1.1) = 1.211 > 1.15.
Man betrachtet die Mitte von 1 und 1.1: 1.05, dort ist f (1.05) = 1.172 > 1.15.
Also wird die Mitte von 1 und 1.05 analysiert: f (1.025) = 1.154 > 1.15.
Also wird die Mitte von 1 und 1.025 analysiert: f (1.0125) = 1.144 < 1.15.
Also wird die Mitte von 1.0125 und 1.025 analysiert: f (1.0125) = 1.149 < 1.15, usw..
Es geht langsam, aber einfach und sicher.
II) Sekantenverfahren oder regula falsi:
Es ist f (1) = 1.135 335 oder 0.014 665 weniger als 1.15.
Es ist f (1.1) = 1.210 803 oder 0.060 803 mehr als 1.15.
Die Vergrerung von x von 1 auf 1.1, also um 0.1, hat den Funktionswert um 0.014665 + 0.060803
= 0.075468 angehoben, dabei waren nur 0.014665 notwendig, um die Gleichung zu erfllen.
Wenn man also x statt um 0.1 nur um den 14665/75468-ten Teil davon vergrert, d. h. um 0.019432,
so liegt man vermutlich nicht schlecht.
32
Tatschlich ist f (1.019432) = 1.149609 nur noch um 0.000392 zu klein. Die Vergrserung von x
von 1 um 0.019432 war nicht ausreichend. Sie brachte einen Zuwachs von 0.014665 zu wenig auf
0.000392 zu wenig, also um 0.014273. Man htte also besser von 1 um das 14665/14273-fache von
0.019432 wachsen sollen, d. h auf 1.019965.
Dort wird f (1.019965) = 0.000003, und eine analoge Korrektur ergibt 1.019961 als Wert, dessen
Genauigkeit ausreichen mag.
III) Newton - Verfahren:
Die Nullstellenaufgabe g(x) = f (x) 1.15 wird durch eine sich verbesernde Folge von Werten xk
gelst, die sich aus der Beziehung
xk+1 = xk
xk + e2xk 1.15
g(xk )
= xk
0
g (xk )
1 2e2xk
ergibt.
Sei x0 = 1 der Startwert, dann wird
x1 = 1
0.014665
= 1 (0.020107) = 1.020107 .
0.729329
Daraus folgt
0.000108
= 1.020107 0.000146 = 1.019961 .
0.739998
Der Funktionswert g(x2 ) ist nun schon mit sechs Nachkommastellen Null, eine weitere Verbesserung
sei nicht ntig.
IV) Fixpunktiteration:
Bei x 1 ist e2x 71 schon recht klein gegen x und ndert sich - als kleiner Wert - auch nur
recht wenig. Vernachlssigt man es in erster Nherung in der Gleichung 1.15 e2x = x, so erhlt
man x 1.15. Damit kann man den Wert der Exponentialfunktion schtzen: x 1.15 e21.15 =
1.049741. Das bietet die Mglichkeit, x noch besser zu bestimmen: x 1.15e21.049741 = 1.027480.
Dies eingesetzt: x 1.15 e21.027480 = 1.021902, weiter 1.020465, 1.020092, 1.019995, 1.019970,
1.019963 und dann 1.019961.
Nimmt man 1.15 in den Speicher eines Taschenrechners, so kann man diese Rechnung nur mit den
Funktionstasten ausfhren - nach der ersten -2 ist keine Zahl mehr einzugeben:
Eingabe 1.15 in Speicher ... Eingabe -2 ... ex ... minus Speicher = -1.049741 (ohne - zur Kenntnis
nehmen), und nun zyklisch: ... ex ... x2 ... minus Speicher ...
V. Nherungsformel auf Basis des quadratischen Taylor-Polynoms:
Man erwartet x 1, also sucht man seine Abweichung y zur Eins: x = 1+y, letztere ist betragsmig
klein und damit nehmen die Betrge mit wachsenden Potenzen schnell ab.
Aus 1.15 = x + e2x wird
1.15 = 1 + y + e22y = 0 = 0.15 + y + e2 e2y = 0.15 + y + e2 1 2y + 2y 2 . . . =
= 0.15 + e2 + 1 2e2 y + 2e2 y 2 + . . . = 0.014665 + 0.729329y + 0.270671y 2 + . . . .
x2 = 1.020107
Das angegebene quadratische Polynom gleich Null gesetzt und die betragskleinere Nullstelle gewhlt
wird
Kommastelle (grob gesagt). Es kann nur besser werden, vermutlich ist es weniger als die Hlfte.
x
f (x)
0
0
0.1
-385.8
0.2
-580.1
0.3
-640.1
0.4
-611.1
Erkenntnis: Das Minimum liegt unter 0.4. Vergleicht man die Funktionswerte in 0.2 und 0.4, so ist
zu vermuten, da es vermutlich ber 0.3 liegt - beginnen wir dort eine neue Suche, diesmal mit
Hundertstelschritten:
x
0.30
0.31
0.32
f (x) -640.15 -640.60 -640.21
Damit ist das Minimum bereits zwischen 0.30 und 0.32 eingeschlossen. Es knnte oberhalb von 0.31
liegen:
x
f (x)
0.310
-640.601
0.311
-640.599
Diese Annahme erweist sich als (mglicherweise) falsch, also wird nach unten gesucht:
x
f (x)
0.310
-640.601
0.309
-640.594
Es resultiert der engere Bereich 0.309 < x < 0.311. Probieren wir zunchst von 0.3100 aufwrts:
x
f (x)
0.3100
-640.6006
0.3101
-640.6008
0.3102
-640.6009
0.3103
-640.0009
0.3104
-640.6007
Man erhlt die engere Einschlieung 0.3101 < x < 0.3104. Es rcht sich, da die Werte von f (x)
nur mit vier Nachkommastellen registriert wurden - man hat keine Information ber die Feinheiten
des Funktionsverlaufes. Es werde von 0.3101 nach oben gesucht, dabei interessieren eigentlich nur
die beiden letzten Kommastellen:
x
f (x)
0.31020
-640.600927
0.31021
. . . 32
0.31022
. . . 38
0.31023
. . . 42
0.31024
. . . 45
0.31025
. . . 48
0.31026
. . . 49
0.31027
. . . 50
0.31028
. . . 50
0.31029
. . . 49
0.31020
-640.600891
-640.600927
0.31022
-640.600952
-640.600927
0.31024
-640.600891
-640.600927
0.31026
-640.601013
-640.600927
0.31028
-640.600952
-640.600927
Im Laufe der Rechnung war es notwendig, von einfacher auf doppelte Genauigkeit bei der Berechnung von f (x) umzuschalten, denn mit den Werten der einfachen Genauigkeit in der zweiten
Tabellenzeile ist nichts anzufangen.
Dieses Bild ist typisch - Extremwertbestimmung durch Abtasten erfordert genaues Rechnen!
Wenn man Lust und Muse hat, so kann man ber den beobachteten Effekt philosophieren: unter den ungenauen Werten gibt es faktisch nur drei: -640.600952, -640.600891, -640.601013. Es ist 952 - 891 = 61 und
1013 - 952 = 61, also dasselbe. Zufall?
Man hat 0.000061/640.601 = 9.522 108 = 223.3 - dahinter steckt die Maschinengenauigkeit. Bei drei
34
Byte fr die Mantisse kann man einen Wert von -640.6... nicht feiner darstellen als auf 0.000061 = 214 das sind die dualen Nachkommastellen, die vor dem Komma braucht man fr die 640.
Und die letzte Kommastelle ist ein Ergebnis interner Rundung, sie hpft also etwas chaotisch auf und ab.
Damit ist der mystische Verlauf jener Tabellenzeile erklrt.
Es ist allgemein bekannt, da die Ableitung einer Funktion im Extremwert Null wird, die Funktion sich
dort also kaum ndert. Man versucht hier, den Extremwert durch eine Art Messung zu ermitteln, wobei das
Besondere dieses Meprozesses darin besteht, da die tatschlich ermittelte Gre f (x) von der gesuchten
Gre x kaum abhngt - das ist prinzipiell schlecht.
xk
0.2
yk
-580.1125478
0.5
-527.8710938
1 yk
2 yk
174.1381800
1625.563080
1149.476028
2 0.8 -183.0282854
Das resultierende Interpolationspolynom
580.1125478 + 174.1381800(x 0.2) + 1625.563080(x 0.2)(x 0.5) =
= 452.3838758 963.7559760x + 1625.563080x2
hat die Ableitung 963.7559760 + 3251.126160x mit der Nullstelle x1 = 0.2964375815.
Diese wird als erste Nherung zum Minimum akzeptiert und man sucht in ihrer Nhe weiter:
35
k
0
xk
0.29
yk
-638.8151292
0.30
-640.1492200
1 yk
2 yk
-133.4090800
4413.398500
-45.14111000
2
0.31
-640.6006311
xk
0.3100
yk
-640.6006311
0.3101
-640.6008210
1 yk
2 yk
-1.899000000
4220.000000
-1.055000000
2
0.3102
-640.6009265
1
1
1
1
1
1
1
1
+
+
+
+
+
+
+
=0
x x1 x2 x3 x4 x5 x6 x7
Die gesuchte Nullstelle mu nun eine Nullstelle der eckigen Klammer sein. Es sei nochmals daran
erinnert: Um g(x) = 0 zu lsen mu man nicht unbedingt diese Gleichung behandeln, sondern kann
auch eine andere betrachten, die dieselbe Lsung besitzt.
Ein anderer Zugang geht von der Idee der logarithmischen Ableitung aus: Statt f (x) differenziert man
ln f (x) und sagt sich: Wo f (x) einen Extremwert hat besitzt auch ln f (x) einen.
Der Vorteil der Herangehensweise besteht darin, da das lange Produkt f (x) beim Logarithmieren zur
Summe wird, die sich einfach ableiten lt:
ln f (x) = ln x + ln(x 1) + ln(x 2) + ln(x 3) + ln(x 4) ln(x 5) + ln(x 6) + ln(x 7)
ergibt
1
1
1
1
1
1
1
1
+
+
+
+
+
+
+
.
x
x1
x2
x3
x4
x5
x6
x7
Das ist natrlich eine formale Rechnung, denn bei 0 < x < 1 sind die Faktoren (x k), k = 1, . . . , 7 negativ
und ihr Logarithmus existiert nicht.
Man hat zwei Auswege: Entweder man begibt sich ins Komplexe, wo es den Logarithmus wieder gibt:
[ln f (x)]0 =
36
Nach den erfolgten Vorbemerkungen liegt der gesuchte Wert zwischen 0 und 1, die ersten beiden
Brche sind also betragsmig recht gro, verglichen mit den nachfolgenden sechs. Man kann die
Aufgabe umformen zu
1
1
1
1
1
1
1
1
1
=
+
+
+
+
+
+
=
+ h(x) ,
x
1x 2x 3x 4x 5x 6x 7x
1x
jetzt sind alle Brche positiv.
Wenn sich ein solches x ein wenig ndert, so bewirkt das merkliche nderungen in 1/x und 1/(1x),
in 1/(2 x) schon weniger und in 1/(7 x) kaum noch.
Es ist h(x) offenbar positiv und streng monoton wachsend. Man hat h(0) = 1/2 + 1/3 + . . . + 1/7 =
1.593 und h(1) = h(0) + 1 1/7 = 2.45.
Lsen wir die Gleichung
1
1
=
+ h(x)
x
1x
nach x auf:
2 + h 4 + h2
2
1 x = x + hx(1 x) hx (2 + h)x + 1 = 0 x1,2 =
2h
und bedenkt man, da h vermutlich in der Nhe von 2 liegen wird, so bleibt als interessierender
Wert nur der mit dem Minuszeichen brig.
p
2 + h(x) 4 + h2 (x)
x = (x) =
2h(x)
ist nun eine Fixpunktgleichung. Starten wir eine solche Iteration, z. B. mit dem etwa in der Mitte
von h(0) und h(1) liegenden
bequemen Wert h = 2.
Man erhlt x = (2+2 4 + 22 /(22) = 0.292 893 219 mit dem zugehrigen Wert h = 1.761 697 083.
Die Rechnung wird mit diesem h wiederholt und liefert x = 0.311 189 568, dazu h = 1.773 695 352,
die nderung von x betrug x = 0.311 189 568 0.292 893 219 = 0.018 296 349.
Damit kann man x verbessern zu x = 0.310 226 871 und hat h = 1.773 059 124, diesmal war x =
0.310 226 871 0.311 189 568 = 0.000 962 697 oder -1/19.005 der vorigen nderung.
Weiter wird x = 0.310 277 807 und
x = 0.310 277 807 0.310 226 871 = 0.000 050 935 = 0.000 962 697/18.90.
Im nchsten Schritt ndert sich x nun wieder um etwa ein 19-tel der letzten nderung, mithin in
der sechsten Nachkommastelle. Man kann folglich getrost zu x = 0.3103 runden.
Variante 5: Die Nullstellenaufgabe
1
1
1
1
1
1
1
1
+
+
+
+
+
+
+
=0
x x1 x2 x3 x4 x5 x6 x7
kann man mit dem Newton - Verfahren behandeln. In dieser Gestalt ist auch die Ableitung leicht
angebbar:
g(x) =
g 0 (x) =
1
1
1
1
1
1
1
1
.
2
2
2
2
2
2
2
x
(x 1)
(x 2)
(x 3)
(x 4)
(x 5)
(x 6)
(x 7)2
Zur Gewinnung eines Startwertes kann man nun - analog wie in der vorigen Variante - x aus
1
1
+2
x
1x
zu x 0.3 schtzen.
Sei also x0 = 0.3, dann hat man g(x0 ) = 0.138 427 684 und g 0 (x0 ) = 13.806 493, was nun zu
x1 = x0 + 0.010 026 274 = 0.310 026 274 fhrt.
Damit wird g(x1 ) = 0.003 275 899, g 0 (x1 ) = 13.165 097 und x2 = x1 +0.000 248 832 = 0.310 275 106.
Die ersten drei Nachkommastellen von x1 wurden beim bergang zu x2 nicht gendert. Sie waren
also richtig, und da sich beim Newton - Verfahren die Anzahl der richtigen Nachkommastellen von
Schritt zu Schritt etwa verdoppelt sind jetzt (d. h. in x2 ) rund sechs Stellen richtig. Man kann also
x2 problemlos auf vier Stellen runden.
Wer selbst etwas experimentieren mchte ... zur Kontrolle:
x = 0.310 275 248 235 320 080 792 526 674 950 538 003 950 002 171 510 944 174 193 215 807 012 497 644
(die letzte Stelle ist gerundet).
37
22. Zunchst empfiehlt sich eine Reduktion der Anzahl der Parameter:
2
198.227 e0.867 051x 3.945 220 + 6.003 282x4 366.5437 =
2
= 198.227 e3.945 220 e0.867 051x + 6.003 282x4 366.5437 =
2
366.5437
6.003 282
4
x
=0
= 198.227 e3.945 220 e0.867 051x +
198.227 e3.945 220
198.227 e3.945 220
6.003 282
366.5437
t2
= et + 2.082 207t 95.576 303 = 0 .
198.227 e3.945 220 0.867 0512
198.227 e3.945 220
Die Anzahl der krummen Koeffizienten hat sich von fnf auf zwei verringert. Um den Einflu der
Rundungsfehler bei der Umformung weitgehend auszuschlieen htte man auch die volle Taschenrechnergenauigkeit ausschpfen und et + 2.082207109t2 95.57630288 = 0 nehmen knnen, was die
Genauigkeit der primren Eingangsgren bersteigt.
Man hat also f (t) = et + 2.082 207t 95.576 303 = 0 und f 0 (t) = et + 4.164414t.
Bedenkt man e2 7, also e4 50 und 2 42 = 32, so sieht man, da die Lsung nahe t = 4 liegen
drfte. Sei dies t1 . Das Newton - Verfahren liefert
t1 = t0
7.662 839
f (t0 )
=4
= 4 + 0.107 536 = 4.107 536 ,
0
f (t0 )
71.25581
danach
t2 = t1
0.351 417
f (t1 )
= 4.107 536
= 4.107 536 0.004 511 = 4.103 029 ,
0
f (t1 )
77.90246
und zuletzt
f (t2 )
.000 660
= 4.103 029
= 4.103 029 0.000 009 = 4.103 020 .
f 0 (t2 )
77.61004
p
p
Es folgt x = t/0.867 051 = 4.103 020/0.867 051 = 2.175 352.
(Intern wurde mit voller Genauigkeit gerechnet.)
Natrlich ist dies nicht der einzige mgliche Weg. Man htte auch den Koeffizienten vor dem linearen
Summanden zu 1 machen und statt dessen einen Faktor im Exponenten behalten knnen, indem
man z. B. u = 2.082 207t setzt.
t3 = t2
23. Fr die drei verschiedenen Werte von a erhlt man (in derselben Reihenfolge) die Ergebnisse x =
22.746 165, x = 24.306 412 und x = 24.319 158.
Die Aufgabe hat es allerdings in sich!
Startet man das Newton-Verfahren z. B. in 0, 1, 10 oder 20, so bricht das Programm (so man eines
geschrieben hat; bei Handrechnung merkt man direkt, da hier etwas nicht nach Plan verluft) im
nchsten Schritt mit der Fehlermeldung Wurzel aus negativen Wert! ab.
Mierfolge beim allzu blauugigen Herangehen an eine Rechnung veranlassen einen in der Regel,
sich daraufhin erst einmal das Problem genauer anzusehen. Wann tritt eine negative Wurzel ein?
Offensichtlich ist der Radikand bei x = 0 positiv und wird bei gengend groem positiven x negativ.
Er hat genau eine positive Nullstelle, die sich leicht finden lt: Sie liegt bei x
= 24.320 151.
Machen wir eine quadratische Ergnzung im Radikanden:
1974.8 56.88x x2 = 1974.8 + 28.442 (28.442 + 2 28.44 x + x2 ) =
= 2783.6336 (x + 28.44)2 = 52.76022 (x + 28.44)2 .
Aha, die vom Wurzelausdruck beschriebene Kurve ist ein oberer Halbkreis, der auf der x-Achse
aufsitzt, den Mittelpunkt in x = 28.44 hat und den Radius 52.7602 besitzt.
Der uerste rechte Punkt des Halbkreises ist x
; dort endet der Definitionsbereich von f (x).
In dieser kommt zum Halbkreis noch eine leicht ansteigende Gerade dazu, die mehr oder weniger weit
nach unten verschoben ist. Man hat 0.013
x = 0.316 und damit ist f (
x) entweder 0.316 8.07 < 0
oder 0.316 1.52 < 0 oder 0.316 0.64 < 0.
38
.
............................................................................ . . . . . . . . . . . . ..... . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
xk+1
... .
xk
....
......
....
...
...
...
Das Newton-Verfahren funktioniert nur, wenn der neue Nherungswert noch im Definitionsbereich
liegt. Voraussetzung dafr ist, da der vorige Wert nicht zu weit links liegt, wo der (mehr oder
weniger) flache Verlauf der Kurve die angelegte Tangente zu weit nach rechts gehen lt. Bei einem
Startwert x0 = 0 ist x1 < 0, aber schon bei x0 knapp ber 0 wird x1 > x gelten.
Man mu folglich x0 so gro whlen, da x1 in den schmalen Bereich zwischen x und x
gert, dann
ist die Konvergenz gewhrleistet.
Bei a = 8.07 ergibt eine genauere Analyse, da dann x0 > 22.089 266 zu fordern ist, wodurch sich
ein zulssiger Startbereich der Breite x
22.089 266 = 2.230 886 ergibt.
Ist dagegen a = 1.52, so reduziert sich wegen dann x0 > 24.265 244 dieser Streifen auf eine Breite
von 0.054 908.
Und bei a = 0.64 ist x0 > 24.316 177 zu fordern und da andererseits x < x
= 24.320 152 verlangt
ist bleibt nur ein winziger geeigneter Startbereich der Lnge 0.003 975.
Ohne diese Diskussion von f (x) hat man kaum die Chance, diesen durch Probieren zu treffen.
Beim Sekantenverfahren ist die Situation viel besser. Einen Startpunkt kann man ziemlich frei zwischen 0 und x
whlen, fr den zweiten kann man x
nehmen. Dort ist die Funktion gerade noch
definiert und dieWurzel ist Null, weshalb f (
x) gerade 0.013
x 0.64 = 0.324 < 0 ergibt. Andererseits ist f (0) = 1974.8 0.64 = 43.80 > 0, damit hat man eine Einschlieung der Nullstelle und
sichere Konvergenz. Das Sekantenverfahren hat dann (mit zwei Zusatzstellen zur Sicherheit) den
folgenden Verlauf:
k
x1
x2
f (x1 )
f (x2 )
0
1
2
3
4
5
6
7
8
9
10
0
24.14165360
24.30681406
24.31651006
24.31651006
24.31950624
24.31950624
24.31915063
24.31915063
24.31915769
24.31915769
24.32015163
24.32015163
24.32015163
24.32015163
24.31824904
24.31824904
24.31908366
24.31908366
24.31915782
24.31915782
24.31915770
24.32015163
0.17849803
0.01333757
0.00364157
0.00173898
-0.00125720
-0.00042258
-0.00006697
0.00000719
0.00000013
0.00000001
43.79872185
4.01011922
0.86224585
0.29599083
0.29599083
-0.06288435
-0.06288435
0.001148343
0.001148343
0.00000118
0.00000118
-0.32383803
-0.32383803
-0.32383803
-0.32383803
0.12419817
0.12419817
0.01184274
0.01184274
-0.00002090
-0.00002090
-0.00000098
f
-44.12255988
-4.33395725
-1.18608388
-0.61982886
-0.17179266
0.18708252
0.07472709
0.01069440
-0.00116924
-0.00002208
-0.00000216
x/f
-0.55119539
-0.04118592
-0.01124505
-0.00587512
-0.01012255
-0.00672003
-0.00565498
-0.00626216
-0.00614928
-0.00588845
-0.00462663
Ab jetzt reproduziert sich das letzte x2 . Man kann beruhigt auf sechs Nachkommastellen runden.
Von den beiden alten Werten wurde bei dieser Rechnung jeweils der mit dem betragsgrten Funktionswert ersetzt. Dadurch ging bei k = 4 die Einschlieung verloren. Das hatte hier aber keine
negativen Konsequenzen.
Natrlich war der Start mit x1 = 0 unsachgem. x1 = 24 wre vernnftiger, htte aber nur einen
Schritt gespart.
39
blicherweise stabilisiert sich das Verhltnis x/f im Verlaufe der Rechnung, hier allerdings hat
man betrchtliche (relative) Schwankungen. Nun, es ist xk /fk 1/f 0 (xk ), und hier wird die
Ableitung in der Nullstelle betragsmig sehr gro. Also erfolgt die Stabilisierung hier theoretisch
auch, aber auf einen recht kleinen Wert. Das erklrt die groen relativen Schwankungen. Um eine Stabilisierung zu beobachten htte man mit noch mehr Stellen und obendrein weiter rechnen
mssen. Jedenfalls ist (bei a = 0.64) f 0 (x ) = 162.898 und damit 1/f 0 (x ) = 0.00614.
24. Es mu einen Schnittpunkt geben.
Man hat f (0) = 46.81 + 29.05 < 43.63 + 209.30 = g(0), dort ist also g(x) grer als f (x).
Fr x + streben die beiden exponentiellen Summanden wegen der negativen Faktoren in den
Exponenten gegen Null; langfristig verbleiben damit nur die absoluten Summanden.
(Im Hintergrund bercksichtigt man, da beide Funktionen berall stetig, ihre Kurven also nirgends
unterbrochen sind.)
Wegen g(x) 43.63 < 46.81 < f (x) mu nun g(x) irgendwann kleiner werden als f (x). Dabei
schneiden sich ihre Kurven.
Es ist 0.07442 : 0.02927 = 2.54, die Funktion f (x) klingt also deutlich schneller ab. Obendrein hat
ihr Exponentialanteil den kleinerern Faktor. Es ist also weniger, das auch noch schneller verschwindet. Nehmen wir deshalb als Starthypothese an, es sei schon weg.
Dann ist g(x) = 43.63 + 209.30e0.002927x = 46.81 oder x = 143.043 643.
Was haben wir weggelassen? Es wird 29.05e0.07442143.043 643 = 0.000 691 748. Das legt die Korrekturrechnung g(x) = 43.63 + 209.30e0.002927x = 46.81 + 0.000 691 748 oder x = 143.036 212 nahe.
Damit wird sich der Wert von f (x) von 46.81 + 0.000 691 748 zu 46.81 + 0.000 692 130 verschieben.
Daraus folgt x = 143.036 208. An diesen Stellen ndert sich nichts mehr.
Anmerkung: Die Koeffizienten der beiden Funktionen hatten vier, maximal fnf gltige Ziffern.
Hieraus ein Ergebnis mit neun gltigen Ziffern gewinnen zu wollen ist eigentlich illusorisch. Es wird
aber so getan, als seien die Koeffizienten exakt. Der Hintergrund ist, da man kaum einen Erkenntnisfortschritt erreicht, wenn man den Studierenden neunstellige Koeffizienten in den Rechner tippen
lt. In der angegebenen Form erscheinen die Funktionen praxisnah genug.
3. Nichtlineare Gleichungssysteme:
1.
f (x, y) = x sin y 0.9 ,
x0 0.8415y0 = 0.1403
(k)
f1
(k+1) (k) (k+1)
x1
x1
x1
x1
=
mit
(k+1)
(k) +
(k+1)
f2
y1
y1
y1
x1
40
f1
(k+1)
(k) (k)
x1
f1 (x1 , y1 )
y1
,
=
(k) (k)
f2 y1(k+1)
f2 (x1 , y1 )
y1
F (k) (k)
x1 (x1 , y1 )
(k)
2(x1 x0 )
konkret zu
(k+1)
F (k) (k)
(k) (k)
F (x1 , y1 )
(x , y1 ) x1
y1 1
=
(k+1)
(k)
(k)
(k)
y1
(x1 x0 )2 + (y1 y0 )2 h2
2(y1 y0 )
wird.
b) Hier sind zwei Flle zu unterscheiden: Der Start aus dem Anfangspunkt (x0 , y0 ), wenn man noch
fast nichts ber die Kurve wei, und einen spteren Schritt, wenn man ein Stck der Kurve kennt
und ihren weiteren Verlauf mit einiger Sicherheit ein Stck voraussagen kann.
Im ersten Fall ist die primitivste Variante: Man startet das Newton - Verfahren in (x0 , y0 ). Dabei
kann man aber z. B. nicht beeinflussen, nach welcher Seite der Kurve die Rechnung luft (unterstellt,
es geht in zwei Richtungen, was aber in der Regel der Fall sein wird. brigens knnen komplizierte
Flle eintreten, z. B. knnte (x0 , y0 ) der Kreuzungspunkt in einer 8 sein usw.. Weiterhin sei von
einem vernnftigen Verlauf in (x0 , y0 ) ausgegangen.)
Eine sachgemere Variante: Man legt eine Tangente in (x0 , y0 ) an K und verfolgt diese eine Strecke
der Lnge h. Bei nicht zu groen Werten von h bleibt man dabei noch nahe der Kurve. Was ein
groer Wert von h ist hngt dabei von der Krmmung von K ab.
Betrachten wir die Wirkung einer kleinen Vernderung beider Argumente auf F :
F (x0 + x, y0 + y) = F (x0 , y0 ) +
F
F
(x0 , y0 ) x +
(x0 , y0 ) y + r(x, y) .
x
y
Es bezeichnet r(x, y) einen fr betragsmig kleine Werte x und y sehr kleinen Ausdruck.
Nach Voraussetzung liegt (x0 , y0 ) auf der Kurve, also ist F (x0 , y0 ) = 0. Der neue Punkt soll idealerweise wieder auf der Kurve liegen, also wird auch F (x0 + x, y0 + y) = 0 gefordert. Es folgt
0=
F
F
(x0 , y0 ) x +
(x0 , y0 ) y + r(x, y) .
x
y
Um rechnen zu knnen wird der letzte Summand mit Verweis auf seine Kleinheit weggelassen, es
bleibt
F
F
0=
(x0 , y0 ) x +
(x0 , y0 ) y .
x
y
Wir sind in der Ebene. Die vorstehende Formel ist das Skalarprodukt von zwei zueinander orthogonalen Vektoren. Bilden wir nun einen zum Vektor der partiellen Ableitungen orthogonalen Vektor,
z. B.
T
F
F
v=
(x0 , y0 ),
(x0 , y0 )
,
y
x
so soll (x, y) = v gelten (diese beiden Vektoren sind parallel).
Der skalare Faktor bestimmt sich aus der Bedingung, da man ein Stck der Lnge h vorankommen will, was |v| = || |v| = h verlangt. Es wird vorausgesetzt, da der Vektor der partiellen
Ableitungen kein Nullvektor ist (was bei einem vernnftigen Kurvenverlauf eintritt; das erwhnte
Kreuz in der 8 wre eine Verletzung dieser Forderung).
Man erhlt || = h/|v| oder = h/|v|. Durch Wahl des Vorzeichens von bestimmt man die
Seite der Kurve, nach der man sich aus (x0 , y0 ) bewegt.
Die Startwerte fr das Newton - Verfahren zu (x1 , y1 ) wren damit (bei gewhlt > 0)
(0)
x1 = x0 + s
und
(0)
y1 = y0 s
h
F
2
2 y (x0 , y0 )
F
F
(x0 , y0 ) +
(x0 , y0 )
y
x
h
F
2
2 x (x0 , y0 ) .
F
F
(x0 , y0 ) +
(x0 , y0 )
y
x
Das ist nicht einmal ein nennenswerter zustzlicher Aufwand, denn die beiden partiellen Ableitungen
braucht man anschlieend sowieso im Newton - Verfahren.
So kann man prinzipiell in jedem Schritt vorgehen, was eine einheitliche Programmstruktur ergibt.
41
Andererseits kann man, wenn man schon wenigstens zwei Punkte hat, auch durch die zwei letzten
Punkte eine Gerade legen und einfach auf dieser weitergehen:
(0)
xi+1 xi = xi xi1
(0)
Bei mehr als zwei bekannten Punkten kann man die darin enthaltene Information ber die Krmmung beachten. Man nimmt an, die Kurve lt sich durch einen Parameter t beschreiben: x = x(t)
und y = y(t) sind die jeweiligen Kurvenpunkte. Eine explizite Darstellung y = y(x) mu nicht
existieren, wie der Punkt (x0 , y0 ) = (1, 0) beim Einheitskreis zeigt, aber man kann bekanntlich
x = cos t und y = sin t setzen.
Es sei der Einfachheit halber angenommen, da in den ermitteltem Kurvenpunkt (xi , yi ) gerade
xi = x(i) und yi = y(i) ist. Das ist nur eine Festlegung an die Wahl des Parameters t.
Nun kann man durch einige vorige Kurvenpunkte (genauer: durch ihre xi -Werte bzw. ihre yi -Werte)
ein Interpolationspolynom legen und durch Extrapolation den neuen Kurvenpunkt vorhersagen.
Beispiel: Betrachten wir den Fall des Einheitskreises. Dort knnen wir die gesuchten Punkte auch
explizit berechnen. Das gibt die Mglichkeit, die Arbeit des numerischen Verfahrens in puncto Genauigkeit und Effektivitt zu bewerten.
Gehen wir im Schritt von h = 0.1 auf dem Einheitskreis entlang. Damit verteilen sich 62 (oder
63) Punkte auf seinem Umfang, was einen ordentlichen Eindruck von seinem Verlauf vermittelt. Es
beginne in (1, 0) und laufe gegen den Uhrzeigersinn. Im vorliegenden Fall kann man die Punkte
natrlich explizit berechnen. Mit jedem Schritt berstreicht man denselben Winkel , der sich leicht
angeben lt. Man bildet ein gleichseitiges Dreieck, eine Ecke im Nullpunkt, dort diesen Winkel,
und er wird von der positiven x - Achse halbiert. Die gegenberliegende Seite hat die Lnge h, also
ist
h
h
(t 1)(t 2)
(t 0)(t 1)
(t 0)(t 1)
+ x1
+ x2
.
(0 1)(0 2)
(1 0)(1 2)
(2 0)(2 1)
(3 1)(3 2)
(3 0)(3 2)
(3 0)(3 1)
+ x1
+ x2
= x0 3x1 + 3x2 .
(0 1)(0 2)
(1 0)(1 2)
(2 0)(2 1)
(0)
Damit erhlt man die Vorhersage x3 = 1 3 0.995 000 000 + 3 0.980 050 000 = 0.955 150 000 und
(0)
analog y3 = y0 3y1 +3y2 = 0.296 628 518, die zum wahren Punkt (x3 , y3 ) = (0.955 299 500, 0.295 639 756)
nur noch den kleinen Abstand 0.001 000 besitzt. Die quadratische Extrapolation ist also recht wirksam. Der bergang zur kubischen Extrapolation ist wohl kaum notwendig und sinnvoll.
c) Zunchst zum Einheitskreis. Man hat hier F (x, y) = x2 + y 2 1 = 0 und damit fr das lineare
Gleichungssystem
! (k+1)
(k+1)
F (k) (k)
F (k) (k)
(k)
(k)
x1
x1
(x
,
y
)
(x
,
y
)
2y
2x
1
1
1
1
1
1
x1
y1
=
=
(k)
(k)
(k+1)
(k+1)
(k)
(k)
x
)
2(y
y
)
2(x
y
y
0
0
1
1
1
1
2(x1 x0 )
2(y1 y0 )
=
(k)
(k)
F (x1 , y1 )
(k)
(k)
(x1 x0 )2 + (y1 y0 )2 h2
42
(k)
(k)
(x1 )2 + (y1 )2 1
=
(k)
(k)
(x1 x0 )2 + (y1 y0 )2 h2
.
a
c
b
d
(k+1)
x1
(k+1)
y1
p
=
.
q
Iteration
0
1
2
3
0
1
2
3
0
1
2
3
det
0.4000
0.4000
0.3995
0.3995
0.4000
0.4000
0.3995
0.3995
0.4000
0.4000
0.3995
0.3995
(k)
xi
1.000000000
0.995000000
0.995000000
0.995000000
0.985012508
0.980037508
0.980049992
0.980050000
0.960174891
0.955274641
0.955299484
0.955299500
(k)
yi
0.100000000
0.100000000
0.099875000
0.099874922
0.199374922
0.198875547
0.198751172
0.198751094
0.296756094
0.295762339
0.295639833
0.295639756
(k+1)
xi
0.005000000
-0.000000000
-0.000000000
0.004975000
-0.000012484
-0.000000008
0.004900250
-0.000024844
-0.000000016
-
(k+1)
yi
0.000000000
0.000125000
0.000000078
0.000499375
0.000124375
0.000000078
0.000993755
0.000122506
0.000000077
-
Man macht stabil drei Newton - Schritte zum Erreichen der gewnschten Genauigkeit. Die tatschliche Determinante der Systemmatrix entspricht recht genau der Vorhersage.
Wenn man nach zwei Schritten mit dem durch Extrapolation gewonnenen Wert weiterrechnet, so
verluft das Newton - Verfahren im dritten Schritt gem
43
Punkt
3
Iteration
0
1
2
det
0.4040
0.3996
0.3996
(k)
xi
0.955150000
0.955331522
0.955332737
(k)
yi
0.296628518
0.295538331
0.295532337
(k+1)
xi
-0.000181522
-0.000001215
-
(k+1)
yi
0.001090187
0.000005994
-
F
F
(x0 , y0 ) = 1 + c cos c(x0 + y0 ) und b =
(x0 , y0 ) = 1 + c cos c(x0 + y0 ) = a + 2 .
x
y
Kurve. Das Newton - Verfahren irrt in der Ebene umher. Es kann nur einen Punkt finden, der vom
letzten den Abstand h hat, und davon gibt es zwei. Jetzt gelangt es jedenfalls nach einigen Hin und
Her in den vorletzten Punkt. Der bringt es wieder in den bisher letzten und das Spiel wiederholt
sich.
Die Schrittweite h = 0.3 ist also bei c = 4 nicht angemessen, um diese Kurve zu verfolgen. Sie mu
verkleinert werden.
4. Lineare Gleichungssyteme:
1. Fr das Einzelschrittverfahren ist eine Systemmatrix mit dominierender Hauptdiagonale wnschenswert. Das trifft in
1 1 2
x
7
2
1 1 y = 4
1 2 1
z
1
nicht einmal andeutungsweise zu. Aber die drei Gleichungen
Umsortiert hat man mit
2
1 1
x
1 2 1 y =
1 1 2
z
4
1
7
ein System, wo der Betrag des jeweiligen Hauptdiagonalelements wenn schon nicht grer, so doch
wenigstens nicht kleiner als die Summe der Betrge der restlichen Elemente ist. Die Dominanz der
Hauptdiagonale ist eine hinreichende Bedingung fr die Konvergenz des Verfahrens, keine notwendige - man kann also hoffen, da bei einer migen Verletzung noch Konvergenz eintritt.
Jede Gleichung wird nach der jeweils wichtigsten Unbekannten aufgelst - das ist die mit dem
betragsgrten Faktor:
x=
4yz
,
2
y=
x+z1
,
2
z=
7x+y
.
2
Daraus ergibt sich unmittelbar die Rechenvorschrift zur Ermittlung der neuen Werte der Unbekannten. Beim Einzelschrittverfahren wird nun jeder ermittelte Wert sofort in die nchste Rechnung
eingesetzt. Man hat die Vorschriften
xk+1 =
4 yk zk
,
2
yk+1 =
xk+1 + zk 1
,
2
zk+1 =
7 xk+1 + yk+1
.
2
Man beachte also: xk+1 wird aus den beiden alten Werten yk und zk bestimmt, in yk+1 geht dagegen
schon das neue xk+1 ein usw..
Ausgehend von x0 = y0 = z0 = 0 erhlt man x1 = (4 0 0)/2 = 2, damit y1 = (2 + 0 1)/2 = 0.5,
weiter z1 = (7 2 + 0.5)/2 = 2.75. Nun beginnt die nchste Runde: x2 = (4 0.5 2.75)/2 = 0.375,
dann y2 = (0.375 + 2.75 1)/2 = 1.0625 usw..
Die Ergebnisse in Tabellenform (mit sicherheitshalber sechs Nachkommastellen):
45
k
xk
yk
zk
dk
qk
0
0
0
0
7
1 2.000000 0.500000 2.750000 5.750000
2 0.375000 1.062500 3.843750 2.468750 0.429348
3 -0.453125 1.195313 4.324219 1.027344 0.416139
4 -0.759766 1.282227 4.520996 0.437012 0.425380
5 -0.901611 1.309692 4.605652 0.183044 0.418855
6 -0.957672 1.323990 4.640831 0.077507 0.423433
7 -0.982410 1.329210 4.655810 0.032569 0.420206
8 -0.992510 1.331650 4.662080 0.013759 0.422469
9 -0.996865 1.332608 4.664736 0.005791 0.420882
10 -0.998672 1.333032 4.665852 0.002444 0.422014
11 -0.999442 1.333205 4.666324 0.001029 0.421150
12 -0.999764 1.333280 4.666522 0.000434 0.421705
13 -0.999901 1.333311 4.666606 0.000183 0.420764
14 -0.999958 1.333324 4.666641 0.000077 0.419713
15 -0.999983 1.333329 4.666656 0.000032 0.419129
16 -0.999993 1.333332 4.666662 0.000013 0.417440
17 -0.999997 1.333333 4.666665 0.000006 0.431111
18 -0.999999 1.333333 4.666666 0.000002 0.402062
19 -1.000000 1.333333 4.666667 0.000001 0.307692
20 -1.000000 1.333333 4.666667 0.000000 0.500000
In der vorletzten Spalte geben die dk die summarische Abweichung des aktuell berechneten Lsungsvektors zur exakten Lsung an:
14
4
dk = |xk + 1| + yk + zk
3
3
und die qk deren Abnahme: qk = dk /dk1 . Letztere scheint ein Wert um die 0.42 zu sein. In
den letzten Zeilen sind die dk schon recht klein und dadurch wirkt sich ihre Verflschung durch
Rundungsfehler stark aus (Bei ihrer Berechnung tritt Auslschung auf!). Der Abnahmefaktor 0.42
ist nicht schlecht - der Fehler wird pro Schritt mehr als halbiert. Man braucht 15 Schritte, um die
gewnschte Genauigkeit zu erreichen.
brigens ist auch die alphabetische Reihenfolge, in der die Unbekannten behandelt werden, nicht
naturgegeben. Das Ausgangssystem hat eine (andeutungsweise) dominierende Hauptdiagonale, wenn
man statt der Gleichungen den Vektor der Unbekannten umsortiert:
2 1 1
z
4
1 2
1 x = 1
1 1 2
y
7
5. Interpolation:
1. Es wird das Interpolationsschema nach Newton verwendet; mit seien die entsprechenden dividierten Differenzen bezeichnet:
x
y
1
2
3
0.10 0.112463
1.1160
0.11 0.123623
-0.125
1.1135
-0.17
0.12 0.134758
-0.130
1.1109
0.13 0.145867
Es ist z. B. (0.145867-0.134758)/0.01 = 1.1109, (1.1109-1.1135)/0.02 = -0.130, und
(-0.130+0.125)/0.03 = -0.17.
Es resultiert das Interpolationspolynom
P3 (x) = 0.112463 + 1.1160(x 0.10) 0.125(x 0.10)(x 0.11) 0.17(x 0.10)(x 0.11)(x 0.12)
mit dem speziellen Wert
P3 (0.122) = 0.112463 + 1.1160 0.022 0.125 0.022 0.012 0.17 0.022 0.012 0.002 =
46
1000
.
0.1225r2 + 0.16r + 3.4
Die erste Gleichung wird von der zweiten und die zweite von der dritten subtrahiert. (Das macht
sich hier gnstig wegen der Wahl der Mepunkte 40 - 80 - 160.)
4800A + 40B = 0.59424 und 19200A + 80B = 2.3646 .
Zweimalige Subtraktion der ersten Gleichung von der zweiten:
9600A = 1.17608 A = 0.0001225
B=
4 + 2b + C = 1/1.25 ,
16a + 4b + C = 1/0.316 .
4. a) Das Differenzenschema (dividierte Differenzen, hier beispielsweise bis zur vierten) der Umgebung
der Stelle x = 6.7322 hat das folgende Aussehen:
47
x
6.2
y = 0
1.45177
6.3
1.46126
0.09490
-0.00650
0.09360
6.4
1.47062
0.00169
-0.00600
0.09240
6.5
1.47986
-0.00427
-0.00002
-0.00600
0.00427
0.09120
6.6
1.48898
0.00169
-0.00550
0.09010
6.7
-0.00849
-0.00171
-0.00601
1.49799
0.01272
0.08890
6.8
1.50688
0.00338
-0.00499
0.08790
6.9
1.51567
-0.01684
-0.00336
-0.00600
0.08670
7.0
1.52434
0.02096
0.00503
-0.00449
0.08580
7.1
1.53292
48
Eugen Roth
x = 0.67322), so ergeben sich die fettgedruckten Werte als Koeffizienten des Polynoms. Es wird
1.48898 + 0.09010 (6.7322 6.6) + (0.00601) (6.7322 6.6) (6.7322 6.7) =
= 1.48898 + 0.01191 0.00003 = 1.50086 .
Der letzte Summand war - im Taschenrechner - 0.00002558... (absolut), er mute relativ weit gerundet werden, und wenn man statt -0.00601 z. B. nur -0.00550 genommen htte, so wre die letzte
Stelle des Resultats um 1 grer.
Die direkt und genau berechnete Lsung von x ex = 6.7322 ist 1.500 862 2... , das Resultat ist also
ganz ordentlich.
Es sollte ggfs. noch die Aufgabenstellung beachtet werden: Die rechte Seite der Gleichung hat vier
Nachkommastellen.
In der vorstehenden Rechnung wurde so getan, als sei dieser Wert als exakt gegeben anzusehen. Das
kann der Fall sein, oder man beschliet, mit ihm mglichst exakt zu rechnen, um wenigstens hier
keine neuen Fehler hineinzubringen.
Sieht man dagegen diese rechte Seite als (korrekt gerundeten) Nherungswert an, so mu man bedenken, da dessen wahrer Wert maximal um |y| = 0.00005 hiervon abweicht.
Die Abweichung x der Lsung x = f (y) ist nun x f 0 (y) y.
Der Produktlogarithmus ist als eine inverse Funktion definiert, ihre Ableitung ist also - nach bekannter Formel - der Kehrwert der Ableitung der direkten Funktion:
f 0 (6.7322) =
1
= 0.0891 < 0.1 .
(1 + 1.50086)e1.50086
Die Abweichung der Lsung ist also weniger als ein Zehntel von der der rechten Seite. Letztere war
auf vier Stellen genau, jene ist also in der Regel auf fnf Stellen richtig. (Wiederum mit Ausnahme
der Flle, wo man gerade dazu gebracht wird, auf den nchsten Wert zu runden. So ist die Lsung
von x ex = 6.73215 wegen dann x = 1.500 857 77 . . . dieselbe, aber die von x ex = 6.73225 wre
1.500 866 68... und aufzurunden.)
brigens ist die analytische Berechnung der Ableitung nicht ntig, wenn man die Tabelle hat. Sie
lt sich aus deren Werten schtzen. Es ist (zentrale Differerenzenformel)
f 0 (6.75)
1.50688 1.49799
= 0.0889 ,
0.1
u eu = 3.41649 .
y = 0
1.09927
1.11496
1.13029
0.15690
0.15330
-0.01800
x=
x ex/1.43 = 1.28451/1.43
1.28451/1.43
x
ex/1.43 =
1.43
1.43
=
49
u eu =
1.28451/1.43
= 0.83311 .
1.43
y = 0
0.44747
0.49007
0.52983
x
0.7
0.8
0.9
0.42600
0.39760
-0.14200
ln 2
ln 2
x ex(ln 2)/0.83 =
6.04431/0.83
0.83
0.83
x
7.2
7.3
7.4
y = 0
1.54139
1.54977
1.55805
0.08380
0.08280
-0.00501
u eu = 7.29673
x=
0.83
1.54950 = 1.85543
ln 2
(ln 10) 0.3994 x e(ln 10)0.3994 = (ln 10) 0.3994 e(ln 10)0.7218
x
4.7
4.8
4.9
y = 0
1.29165
1.30354
1.31523
0.11890
0.11690
-0.01000
u eu = 4.84645
x=
1.30899
= 1.42335
(ln 10) 0.3994
y = 0
0.93871
0.95859
0.97788
x ex =
1
0.4003
0.19880
0.19290
-0.02950
x ex = 2.49813
50
5. Es empfiehlt sich, beim Bau des Polynoms mit x = 90 zu beginnen. Ein Polynom, das dort den
Wert 1 hat und einen Extremwert besitzt hat die Form y2 (x) = 1 + a(x 90)2 .
Durch die Wahl des a kann eine der anderen Bedingungen befriedigt werden, z. B. y2 (0) = 0. Das
ergibt a = 1/902 .
Das Polynom wird durch einen Summanden fortgesetzt, der in x = 0 und in x = 90 keine der
erreichten drei Eigenschaften (bereinstimmung der beiden Funktionswerte bzw. Ableitung = Null)
zerstrt: y3 (x) = 1 (1 x/90)2 + bx(x 90)2 .
Verknpft man diesen Ausdruck mit der Forderung y3 (30) = sin 30o = 1/2, so wird b = 1/18 30
602 .
Der nchste Summand bewahrt auch noch diese Eigenschaft:
y4 (x) = 1 (1 x/90)2 x(x 90)2 /18 30 602 + cx(x 30)(x 90)2 .
Er sorge in x = 45 fr Koinzidenz:
"
#
3
2
1
45
1+ +
.
y4 (45) = sin 45o = 2/2 = c = 15 453
2
4 18 30 602
2
Zuletzt wird
mit einem Summanden dx(x 30)(x 45)(x 90) noch die letzte Bedingung y5 (60) =
sin 60o = 3/2 realisiert.
Es folgt
y1 (x) sin x
0.0000
0.0012
0.0024
0.0035
0.0046
...
0.0557
0.0556
0.0556
0.0555
0.0554
...
0.0435
0.0432
0.0429
0.0426
0.0423
...
0.0235
0.0232
0.0229
0.0225
0.0222
...
0.0000
0.0000
0.0000
0.0000
0.0000
y2 (x) sin x
0.00000
0.00015
0.00029
0.00043
0.00057
...
0.00015
0.00007
0.00000
-0.00008
-0.00015
...
-0.00389
-0.00393
-0.00398
-0.00403
-0.00407
...
-0.00495
-0.00493
-0.00491
-0.00490
-0.00488
...
-0.00002
-0.00001
-0.00000
-0.00000
0.00000
y3 (x) sin x
0.000000
-0.000026
-0.000051
-0.000075
-0.000097
...
-0.000007
-0.000004
0.000000
0.000004
0.000007
...
0.000006
0.000003
0.000000
-0.000003
-0.000006
...
-0.000191
-0.000193
-0.000195
-0.000197
-0.000199
...
-0.000002
-0.000001
-0.000000
-0.000000
0.000000
y4 (x) sin x
0.0000000
-0.0000043
-0.0000085
-0.0000125
-0.0000162
...
-0.0000007
-0.0000004
0.0000000
0.0000003
0.0000007
...
0.0000003
0.0000002
0.0000000
-0.0000002
-0.0000003
...
-0.0000004
-0.0000002
0.0000000
0.0000002
0.0000004
...
0.0000002
0.0000001
0.0000001
0.0000000
0.0000000
y4 (x)
0.0000000
0.0043590
0.0087180
0.0130771
0.0174362
...
0.4924228
0.4962161
0.5000000
0.5037743
0.5075390
...
0.7009096
0.7040149
0.7071068
0.7101852
0.7132501
...
0.8616288
0.8638353
0.8660254
0.8681990
0.8703561
...
0.9998479
0.9999145
0.9999620
0.9999905
1.0000000
max
0.0560095
0.0050540
0.0004227
0.0000633
Die Funktion y4 ist fast geeignet, eine vierstellige Tabelle der Sinusfunktion zu berechnen!
In der Nhe von x = 0 sind die Abweichungen recht gro; das Problem erkennt man deutlicher, wenn
man z. B. y4 (x) einmal von 90o bis +90o zeichnet (ausgezogene Kurve; die wahre Sinusfunktion
51
ist gestrichelt):
90
60
1.00
30
30
60
90
................. 1.00
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
............
..........
.
.
.
.
.
.
.
.
.
........
......
.
.
.
0.75
0.75
.
..
......
.
.
.
.
.....
....
.
.
.
....
0.50
0.50
.....
.
.
.
.
.
.
.
....
....
.
.
.
.
0.25
0.25
....
....
.
.
.
.
.
.
.
....
....
.
.
.
.
0.00
0.00
....
....
.
.
.
.
.
.
....
.....
.
.
.
.
0.25
0.25
....
....
.
.
.
.
.
.
....
.....
.
.
.
.
0.50
0.50
.....
....
.
.
.
.
.
.
.
.
....
..........
.
.
.
.
.
.
.
0.75
0.75
............
.................
.
.
.
.
.
.
.
.
.
.
...................................................... .....
. ...
..... ....
.
.
.
.
.
.
.
.
.
.
1.00 ..... .....
1.00
90
60
30
0
30
60
90
Im negativen Bereich ist die Funktion unzutreffend! Sie soll dort zwar nicht benutzt werden, die
Probleme strahlen aber herber ins Positive.
Es wre also sinnvoll, als weitere Bedingung zu fordern, da das Interpolationspolynom in x = 0
einen Wendepunkt, d. h. eine verschwindende zweite Ableitung, haben soll.
Das ist sicher erreicht, wenn man das Polynom gleich als ungerade Funktion baut.
Begonnen wird wieder in 90o ; es soll y0 (x) dort die Werte -1 bzw. +1 annehmen und horizontal
verlaufen. Es wird y00 (x) = a(x2 902 ) angesetzt, dann ist y0 (x) = ax(x2 /3 902 ) und es folgt
a = 1/60 902 .
Fortgesetzt wird mit y1 (x) = y0 (x) + bx(x4 904 ); das realisiert y1 (30) = 1/2, wenn man b entsprechend whlt.
Letztlich gelangt man zu
y (x) = y0 (x) + bx(x4 904 ) + cx(x2 302 )(x4 904 ) + dx(x2 302 )(x2 452 )(x4 904 ) .
Mit den berechneten Koeffizienten ergibt das das auf x [90o , +90o ] gltige Polynom
2
x
2
52
x
0.00
0.25
0.50
0.75
1.00
...
29.50
29.75
30.00
30.25
30.50
...
44.50
44.75
45.00
45.25
45.50
...
59.50
59.75
60.00
60.25
60.50
...
89.00
89.25
89.50
89.75
90.00
y1 (x) sin x
0.0000
-0.0002
-0.0004
-0.0006
-0.0008
...
-0.0184
-0.0184
-0.0185
-0.0186
-0.0187
...
-0.0197
-0.0196
-0.0196
-0.0196
-0.0195
...
-0.0144
-0.0143
-0.0142
-0.0140
-0.0139
...
-0.0000
-0.0000
-0.0000
-0.0000
0.0000
y2 (x) sin x
0.00000
-0.00000
-0.00000
-0.00000
-0.00001
...
-0.00000
-0.00000
0.00000
0.00000
0.00000
...
0.00016
0.00017
0.00017
0.00017
0.00017
...
0.00029
0.00029
0.00029
0.00029
0.00029
...
0.00000
0.00000
0.00000
0.00000
0.00000
y3 (x) sin x
0.0000000
-0.0000000
-0.0000000
-0.0000000
-0.0000000
...
-0.0000000
-0.0000000
0.0000000
0.0000000
0.0000000
...
0.0000000
0.0000000
0.0000000
-0.0000000
-0.0000000
...
-0.0000019
-0.0000020
-0.0000020
-0.0000021
-0.0000021
...
-0.0000000
-0.0000000
-0.0000000
-0.0000000
0.0000000
y4 (x) sin x
0.0000000000
-0.0000000001
-0.0000000002
-0.0000000004
-0.0000000005
...
-0.0000000002
-0.0000000001
0.0000000000
0.0000000001
0.0000000002
...
0.0000000001
0.0000000001
0.0000000000
-0.0000000001
-0.0000000001
...
-0.0000000003
-0.0000000002
0.0000000000
0.0000000002
0.0000000004
...
0.0000000006
0.0000000003
0.0000000001
0.0000000000
0.0000000000
max
0.020016838
0.000296039
0.000003214
0.000000018
Abschlieend ein Wort zum Fall, da man nur die Funktionswerte selbst im Bereich [0o , 90o ] interpoliert: Das resultiernde Polynom hat eine maximale betragsmige Abweichung von etwa 0.0003,
ist also praktisch nicht schlechter als das erhaltene. In den speziellen Stellen stimmt es exakt mit
der Funktion berein. Es sieht also auf den ersten Blick gut aus!
Allerdings ist seine Ableitung an der Stelle x = 90 nicht Null, sondern -0.000 058 54.
Das weckt Befrchtungen, und tatschlich ist z. B. der Wert des Polynoms an der Stelle x = 89.8o
mit 1.000 005 (das bezeichnet etwa Lage und Wert des Maximums) einem Sinuswert wesentlich
unhnlich.
6. Ausgleichsrechnung:
1. Die Idealgleichungen werden nichtlinear; man kann ein lineares Problem gewinnen, indem man jede
mit dem Faktor x x0 multipliziert und b ax0 = c als neue Unbekannte auffat:
b
= 24.4
3 x0
a+ b
= 15.2
4 x0
a+ b
= 12.2
5 x0
a+ b
= 10.4
6 x0
3 1
4 1
5 1
6 1
a+
3a ax0 + b + 24.4x0
4a ax0 + b + 15.2x0
5a ax0 + b + 12.2x0
6a ax0 + b + 10.4x0
24.4
73.2
a
60.8
15.2
c =
61.0
12.2
x0
10.4
62.4
= 73.2
= 60.8
= 61.0
= 62.4
18
4
62.2
0.20930
0.22222
0.24165
0.01292
0.03235
0.02793
0.02660
0.00133
257.4
62.2
1083.40
2.99302
3.45556
4.20901
0.46254
1.21599
1
1
0
1142.2
257.4
4103.40
13.28140
14.30000
15.94172
1.01860
2.66032
2.20219
2.18778
0.01441
Wie man sieht sind fnf Nachkommastellen mindestens notwendig - im Laufe der Rechnung tritt
Auslschung auf; der Nenner hat nur noch drei gltige Ziffern.
c = 0.01441/0.00133 = 10.8 (im Resultat der Division sind damit auch nur drei gltige Ziffern
erlaubt), damit x0 = 1.9 und a = 5.3. Das ergibt b = 20.8.
Lt man die Rechnung von einem Computer mit grerer Stellenzahl durchfhren, so resultieren die
durch Rundungen in den Zwischenergebnissen weniger verflschten Werte c = 10.834, x0 = 1.900,
a = 5.328 und b = 20.955. Die eingangs gewonnenen Parameter sind also trotz allem akzeptabel.
Damit ist f (3) = 24.37, f (4) = 15.31, f (5) = 12.09, f (6) = 10.44, und fr die Fehlerquadratsumme
folgt
4
X
s2 =
[f (xk ) yk ]2 = 0.026 083 .
k=1
Bemerkung:
Versucht man die Fehlerquadratsumme des eigentlichen Problems zu minimisieren, so ergibt das
ein System von drei nichtlinearen Gleichungen;
2
4
b
X
yk
a+
= 0,
a
xk x0
2
4
X
b
yk
a+
= 0,
b
xk x0
k=1
k=1
2
4
b
X
yk
a+
= 0
x0
xk x0
k=1
Das System kann z. B. mit dem Newton-Verfahren gelst werden. Dabei dienen die vorstehenden
Resultate als gute Startwerte.
Man gewinnt a = 5.534, b = 20.055 und x0 = 1.937.
Die zugehrige Fehlerquadratsumme wird 0.021 970 und damit kleiner als die obige. Das ist einleuchtend - das oben gerechnete ist ein Ersatzproblem, in dem die Aufgabenstellung durch Multiplikation
der Gleichungen mit xk x0 verflscht wurde. Also kann das ursprngliche Kriterium minimale
Fehlerquadratsumme in der Ausgangstabelle nicht mehr perfekt erfllt werden; zum Trost bekommt
man aber ein relativ einfach zu lsendes lineares Gleichungssystem.
2. Es gilt bekanntlich
dF
d
(t) =
dt
dt
f ( ) d = f (t) .
0
f (1.5) f (1.3)
0.44673 0.34085
=
= 0.5294
1.5 1.3
0.2
f (1.5) =
f (1.6) f (1.4)
0.50277 0.39266
=
= 0.5506
1.6 1.4
0.2
f (1.6) =
f (1.7) f (1.5)
0.56049 0.44673
=
= 0.5688
1.7 1.5
0.2
f (1.7) =
f (1.8) f (1.6)
0.61962 0.50277
=
= 0.5843
1.7 1.5
0.2
54
b ln
1.5
0.5506
0.1 = ln
1.4
0.5294
Dasselbe wird mit den anderen Paaren gemacht; man knnte alles auf f (1.4) beziehen, wenn man
aber jeweils durch den Vorgnger teilt, so hat man vor immer denselben Faktor. Es entstehen die
Gleichungen
0.5506
1.5
0.1 = ln
= 0.06899b 0.1 = 0.03926
b ln
1.4
0.5294
1.6
0.5688
b ln
0.1 = ln
= 0.06454b 0.1 = 0.03252
1.5
0.5506
1.7
0.5843
b ln
0.1 = ln
= 0.06062b 0.1 = 0.02689
1.6
0.5688
Ausgleichssystem:
0.01260b 0.019414 = 0.0064375 ,
10
101
102
103
104
105
106
107
108
109
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
Nherungswert
Abweichung
1.4142135623731
1.4993738237085
1.4999937498828
1.4999999375000
1.4999999993750
1.4999999999938
1.4999999999999
1.4999999999992
1.4999999999992
1.5000000000236
1.4999999999694
1.4999999994273
1.4999999940063
1.5000002108467
1.4999991266446
1.4999937056337
1.4999937056337
1.4961989980300
1.5178830414797
2.1684043449710
0.0000000000000
0.0000000000000
-0.0857864376269
-0.0006261762915
-0.0000062501172
-0.0000000625000
-0.0000000006250
-0.0000000000062
-0.0000000000001
-0.0000000000008
-0.0000000000008
0.0000000000236
-0.0000000000306
-0.0000000005727
-0.0000000059937
0.0000002108467
-0.0000008733554
-0.0000062943663
-0.0000062943663
-0.0038010019700
0.0178830414797
0.6684043449710
-1.5000000000000
-1.5000000000000
55
Der Fehler der zentralen Differenzenformel ist (in etwa) proportional zum Quadrat der Schrittweite
h. (Vorausgesetzt, da h - gemessen an der nderung der Funktion - klein ist. Der Wert fr h = 1
tanzt da noch erwas aus der Reihe.) Letztere verringert sich von Zeile zu Zeile auf ein Zehntel, und
der Fehler gewinnt tatschlich zwei Nullen nach dem Komma, ohne sich ansonsten in der Ziffernfolge viel zu ndern.
Die Nherungswerte differieren fr abnehmende h immer weniger vom wahren Wert der Ableitung:
1.5.
Allerdings gilt diese Aussage nur, solange h nicht den Wert 106 unterschreitet, dann werden die
Abweichungen wieder grer.
In der verwendeten Arithmetik betrgt die Maschinengenauigkeit masch = 1.1102 1016 = 253
- die kleinstmgliche Abweichung von 1. In dieser Grenordnung liegt dann hier auch der unvermeidliche Rundungsfehler der Funktionswertberechnungen, und die Rundung des Zhlers im Bruch
[f (x + h) f (x h)]/2h knnte theoretisch etwa doppelt so gro sein. Der Rundungsfehler des
Gesamtausdrucks ist folglich betragsmig in der Grenordnung von masch /h, und bei h = 107
ist das ungefhr 109 . Das pat sehr gut zur erhaltenen Abweichung von 0.0000000000008 =
0.8 109 .
Fr h < 108 ist die Abweichung also weniger durch die Methode als durch die Rundungsfehler
bedingt.
Letztere sind (oder erscheinen uns als) zufllige Zahlen, weshalb also die betragsmig von h = 107
bis h = 1019 insgesamt wachsenden Zahlen sich etwas chaotisch verhalten und speziell ihre Vorzeichen mehrmals wechseln.
Die Abweichung wird bei h = 1019 so gro, da die ermittelte Nherung kaum noch Beziehung
zum wahren Wert der Ableitung aufweist.
Verkleinert man h weiter, so wird der Nherungswert Null, und bleibt es. - Es ist (binomische Reihe
fr den Exponenten a = 1.5)
1.5
1.5 2
1.5 3
(1 h)1.5 = 1
h+
h
h + . . . 1 + 1.5h ,
1
2
3
und 1 1.5 1019 ist wegen 1.5 1019 < masch = 1.1102 1016 intern einfach 1. Im Zhler steht
also die exakt verschwindende Differenz zweier Einsen. Die Rechnung ist vllig sinnlos geworden.
Bei x2 = 0.01 kann man erst bei h = 0.01 starten, weil man sonst mit x2 h aus dem
Definitionsbereich der Funktion kommt; es ergibt sich als exakter Wert f 0 (x2 ) = f 0 (0.01) = 1.5 0.01 = 0.15.
Fr die verschiedenen Schrittweiten erhlt man
h
2
10
103
104
105
106
107
108
109
1010
1011
1012
1013
1014
1015
Nherungswert
Abweichung
0.1414213562373
0.1499373823709
0.1499993749883
0.1499999937500
0.1499999999375
0.1499999999994
0.1500000000000
0.1499999999997
0.1500000000004
0.1500000000094
0.1500000002794
0.1500000000147
0.1500000164260
0.1499998999590
-0.0085786437627
-0.0000626176291
-0.0000006250117
-0.0000000062500
-0.0000000000625
-0.0000000000006
0.0000000000000
-0.0000000000003
0.0000000000004
0.0000000000094
0.0000000002794
0.0000000000147
0.0000000164260
-0.0000001000410
Das Bild ist prinzipiell hnlich (es wurde nicht bis zum Nullwerden der Nherungen gerechnet).
Allerdings war bei h = 104 und x1 = 1 die Abweichung -0.000 000 000 625, hier dagegen ist sie
mit -0.000 000 625 012 ziemlich genau tausendmal grer. Warum?
Die exakte Formel
f 0 (x) =
f (x + h) f (x h) f 000 () 2
h
2h
6
xh< <x+h,
liefert eine Darstellung des Fehlers, dessen Betrag folglich einerseits in etwa proportional zu h2 ist,
und andererseits zu f 000 (x). Dabei wird davon ausgegangen, da h so klein ist, da sich der Wert
56
0.12649 + 0.08944
3 01.5 4 0.11.5 + 0.21.5
=
= 0.18526 .
2 0.1
0.2
Der Wert ist - verglichen mit den bisherigen Nherungen - ziemlich ungenau. Der peinlichste Effekt:
x3/2 ist im gesamten Definitionsbereich streng monoton wachsend - und als Nherung an seine
Ableitung bekommt man einen negativen Wert!
Die Tabelle der von h abhngigen Resultate:
h
0
10
101
102
103
104
105
106
107
108
109
1010
1011
1012
1013
Nherungswert
-0.5857864376269
-0.1852419365337
-0.0585786437627
-0.0185241936534
-0.0058578643763
-0.0018524193653
-0.0005857864376
-0.0001852419365
-0.0000585786438
-0.0000185241937
-0.0000058578644
-0.0000018524194
-0.0000005857864
-0.0000001852419
Die Werte bleiben immer negativ, gehen aber wenigstens zum exakten Wert Null.
Allerdings langsam - eine Verringerung von h auf ein Zehntel ergibt keine zwei neue Kommastellen,
sondern die Verkleinerung von h auf 1/100 bringt erst eine!
Der Fehler der einseitigen Differenzenformel ist gegeben mit
f 0 (x) =
x3 < < x3 + 2h .
Konkret ist folglich 0 < < 2h, nehmen wir der Einfachheit halber an, da diese Zwischenwerte
halbwegs proportional zu h sind: c h. Dann ist
0.375 (ch)1.5 2
f 000 () 2
h
h = 0.125 c1.5 h .
3
3
Das wrde die langsame Abnahme erklren:
Der bergang h h/10 bringt lediglich eine Verrin
gerung des Fehlers um den Faktor 1/ 10 = 0.316.
Die Formeln der numerischen Differentation erreichen ihre theoretische Genauigkeitsordnung also
5 Die betrachtete Funktion y = f (x) ist in jedem x > 0 unendlich oft differenzierbar. Weniger glatt soll hier bedeuten,
da die Betrge der Ableitungen (ab der zweiten) bei Annherung an Null immer grer werden.
57
nur dann, wenn die zu differenzierende Funktion gengend glatt ist (hier: in einer Umgebung der
betrachteten Stelle xk eine stetige dritte Ableitung besitzt).
Hinweis: Es knnte sein, da das Programm (so man eins geschrieben hat, was ich empfehle) beim
ersten Wertepaar mit einer Fehlermeldung (z. B . Logarithmus von Null verlangt) aussteigt.
Das liegt dann daran, da ab in real - Zahlen als exp(b ln a) ermittelt wird, was bei sturer Anwendung auf den Ausdruck 01.5 zu einem Abbruch fhrt.
50
)
(xh)
einfach f (x+h)f (xh+10
programmiert, so ist das Problem
Wenn man nun statt f (x+h)f
2h
2h
behoben und keiner der nachfolgenden Werte verflscht. Der zustzliche Summand fllt bei den
betrachteten Werten von h mit h 1021 stets aus der Betrachtung heraus (in der Maschine ist
1021 + 1050 = 1021 ), und andererseits verhindert er bei x = 0 den Logarithmus von Null. Der
dann eigentlich auftauchende Funktionswert von 1075 beeinflut den Zhler des Differenzenquotienten ebensowenig.
Das ist eigentlich ein schmutziger Programmiertrick (der die Kenntnis der Potenzgesetze in einem
gewissen Umfang voraussetzt). Viele Autoren raten dringend von solchen Tricks ab, und sie haben damit sicher auch recht. Sauberer ist es, im Programm eine ordentliche Fallunterscheidung zu
machen: Bei x = 0 ist y = 0, und bei x > 0 sei y = x3/2 .
2. 1. Lsungsvariante: Zentrale Differenzenformel, Nherung:
Es wird y(0.2) und y(0.4) berechnet; dazu diene das Newton-Verfahren.
Die rechte Seite der Gleichung ist eine (fr x > 0) streng monoton wachsende Funktion in y; die
Gleichung hat folglich genau eine Lsung. Offenbar
wird der Wert 702 im Wesentlichen durch y 5
5
erbracht; als Startwert kann man also y0 = 702 = 3.709 090 verwenden.
Die Ableitung ist dann (nach y !): 5y 4 + x.
f (y)
f 0 (y)
Korrektur
3.709090
3.708307
3.708306
0.741406
0.000313
0.000000
946.523206
945.724072
945.723735
-0.000783
-0.000000
-0.000000
3.709090
3.707523
3.707522
1.483224
0.001252
0.000000
946.723206
945.125339
945.123989
-0.001567
-0.000001
-0.000000
0.2
0.4
f 0 (y)
Korrektur
3.709090
3.707954
3.707953
3.709090
1.075224
0.000658
0.000000
1.149406
946.613206
945.454538
945.453828
946.633206
-0.001136
-0.000001
-0.000000
-0.001214
3.707876
3.707875
0.000752
0.000000
945.394665
945.393854
-0.000001
-0.000000
0.29
0.31
0.29
3.709090000
3.707954135
3.707953439
3.709090000
3.707875796
3.707875000
0.31
f (y)
f 0 (y)
Korrektur
1.075224407
0.000658146
0.000000000
1.149406207
0.000752045
0.000000000
946.613206375
945.454537973
945.453828208
946.633206375
945.394664621
945.393853593
-0.001135865
-0.000000696
-0.000000000
-0.001214204
-0.000000795
-0.000000000
59