15.01.2015 Aufrufe

Numerische Berechnung von unendlichen Reihen - Public.fh ...

Numerische Berechnung von unendlichen Reihen - Public.fh ...

Numerische Berechnung von unendlichen Reihen - Public.fh ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

<strong>Numerische</strong> <strong>Berechnung</strong> <strong>von</strong><br />

<strong>unendlichen</strong> <strong>Reihen</strong><br />

© Peter Riegler, FH Wolfenbüttel<br />

In[1]:=<br />

Needs@"Graphics`Master`"D<br />

Die pseudomathematische Methode<br />

Idee: Wir berechnen die Partialsummen und brechen ab, sobald sich zwei aufeinanderfolgende Partialsummen<br />

um weniger als ein vorgegebenes e (Genauigkeit) ändern.<br />

Beispiel: <strong>Berechnung</strong> <strong>von</strong> ⁄ k=0 k -1<br />

In[2]:=<br />

eps = 10^−3; s = 0; kk = 1; While@1 ê kk > eps, s = s + N@1 ê kkD; kk++D;<br />

Print@"kk=", kk, " s=", sD<br />

kk=1000 s=7.48447<br />

Tatsächlich ist diese Reihe noch gar nicht konvergiert. Nach 10 6 Termen sieht die Situation nämlich so aus:<br />

In[3]:=<br />

s = 0; For@k = 0, k ≤ 1000000, s = s + N@1 ê k, 20D;, k++D; s<br />

Out[3]= 14.392727722864723632<br />

In[4]:=<br />

s = 0; For@k = 0, k ≤ 1000001, s = s + N@1 ê k, 20D;, k++D; s<br />

Out[4]= 14.392728722862723636<br />

Der Wert der Summe ändert sich immer noch auf der 18. Nachkommastelle und hat sich auch mehr als<br />

verdoppelt.<br />

Die Reihe konvergiert im Übringen gar nicht, denn ⁄ k=0 k -1 ist die harmonische Reihe.<br />

Es liegt auch kein Widerspruch zum Cauchy-Konvergenzkriterium vor. Es wurde nur falsch angewendet!<br />

Denn es fordert, dass<br />

» s n - s n-1 » n 0 und für alle e. Wir haben das hier nur für ein e nachgeweisen (und das nicht einmal richtig,<br />

denn wir können das ja nicht für alle n ausprobieren).


2 reihenberechnen-1.nb<br />

Der Fehler ist letztendlich, dass nicht zuerst die Konvergenz geprüft wurde!<br />

Wenn man allerdings weiss, dass eine Reihe konvergiert, dann kann man sich ein Abbruchschranke e<br />

vorgeben und die Iteration abbrechen, sobald das Inkrement kleiner als e ist.<br />

Beispiel: Berechnen <strong>von</strong> ⁄ k=0 k -2 (Konvergenztest z.B. über Abschätzen mit Integral)<br />

In[5]:=<br />

eps = 10^−3; s = 0; kk = 1; While@1 ê kk^2 > eps, s = s + N@1 ê kk^2D; kk++D;<br />

Print@"kk=", kk, " s=", sD<br />

kk=32 s=1.61319<br />

Der Fehler zum Grenzwert p 2 ê 6<br />

In[6]:=<br />

π 2<br />

<br />

6 − s<br />

Out[6]= 0.0317434<br />

ist jedoch immer noch unbekannt und unzugänglich (wir kennen den Grenzwert ja nicht, sonst würden wir<br />

die Reihe nicht numerisch berechnen).<br />

Abschätzen des Fehlers<br />

Wenn wir nur bis k = n iterieren, machen wir einen Fehler r n+1<br />

k -2 n<br />

= ⁄ k=0 k -2 + r n+1 ,<br />

⁄ k=0<br />

den sogenannten Restfehler<br />

<br />

r n+1 = ⁄ k=n+1 k -2<br />

Um tatsächlich eine gegebene Genauigkeit zu erreichen, müssen wir wissen, wie der Restfehler r n+1 <strong>von</strong> n<br />

abhängt. Dazu genügt eine Abschätzung des Restfehlers, z.B.<br />

<br />

r n+1 = ⁄ k=n+1 k -2 <br />

§ Ÿ n+1 x<br />

-2<br />

„ x<br />

∞<br />

In[7]:= ‡<br />

n+1<br />

Out[7]=<br />

1<br />

<br />

1 + n<br />

x −2 x<br />

Um diesen Restfehler zu unterschreiten, müssen wir fordern, dass das Inkrement der Iteration mindestens<br />

kleiner ist als eps. Das ist ab diesem n der Fall:


eihenberechnen-1.nb 3<br />

In[8]:= SolveA 1 <br />

1 + n<br />

Out[8]= 88n → 999


4 reihenberechnen-1.nb<br />

In[12]:=<br />

plainconv = LogLogListPlot@<br />

Table@8n, −NSum@1 ê k^2, 8k, 1, n


eihenberechnen-1.nb 5<br />

bzw.<br />

⁄ k=1 k -2 <br />

1<br />

- 1 ÿa 1 =‚ ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ<br />

k=1 k 2 Hk+1L<br />

⁄ k=1 k -2 <br />

1<br />

= 1 + ‚ ÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅÅ<br />

k=1 k 2 Hk+1L<br />

mit einer wesentlich schnelleren Konvergenz der rechten Seite:<br />

In[13]:=<br />

accelconv = LogLogListPlot@<br />

Table@8n, −H1 + NSum@1 êHk^2 Hk + 1LL, 8k, 1, n

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!