Beispiel: Kontinuierliches Wachstum

Das einleitende Beispiel zeigt einige Probleme auf, die uns veranlassen, die Grundlagen der Analysis:

Eigenschaften der reellen Zahlen und Konvergenz von Folgen

genauer zu untersuchen, bevor wir uns der aus der Schule bekannten Differential- und Integralrechnung zuwenden.

Wachstumsvorgänge mit einer festen Wachstumsrate treten in vielen Anwendungen auf. Wir werden sie im Laufe der Vorlesung immer wieder als Beispiele heranziehen.

Wir simulieren den kontinuierlichen Wachstumsprozeß, indem wir ihn durch einen schrittweisen Wachstumsprozeß ersetzen und sein Verhalten untersuchen, wenn die Schrittweite immer kleiner wird. Um eine anschauliche Sprechweise zu verwenden, sprechen wir von einem Kapital das wächst, die Wachstumsrate heiße Zinssatz und die Schrittweite heiße Jahr, Monat, Tag, ...

Man kann diese Überlegungen an vielen anderen biologischen, physikalischen oder chemischen Wachstumsvorgängen anstellen. Mit denselben Methoden kann man auch gegenteilige Prozesse wie Absorption von Licht in einem trüben Medium, radioaktiver Zerfall untersuchen.

Die Funktionen und Bilder sind mit dem Computeralgebrasystem Maple V berechnet. Damit man die Rechnungen mit Maple (oder einem anderen Computeralgebrasystem) nachvollziehen kann, sind alle Maple-Befehle mit angegeben.

Wir bezeichnen den Zinssatz mit x und die Anzahl der Zinstermine im Jahr mit n. Bei jedem Zinstermin werde das Kapital mit x/n verzinst. D.h. ein Kapital wächst bei jedem Zinstermin um den Faktor (1+ x/n). Die Funktion f(x,n) gibt das Wachstum eines Kapitals am Ende des Jahres an.

> f:= (x,n) -> (1+x/n)^n;

[Maple Math]

Bei mehr Zinsterminen wird durch den Effekt der Zinseszinsen das Kapital schneller wachsen. D.h., die Funktion f wird bei wachsendem n größer.

Bei n Zinsterminen gebe die Funktion g(x,n) die Verzinsung des Kapitals am folgenden (n+1)-ten Zinstermin an. Zum Beispiel bei monatlicher Verzinsung ist g(x,12) der Faktor, um den das Kapital nach 13 Monaten wächst. Bei täglicher Verzinsung ist g(x,365) der Faktor, um den das Kapital nach 366 Tagen wächst.

> g:= (x,n) -> f(x,n)*(1+x/n);

[Maple Math]

Natürlich ist g größer als f.

Der zusätzliche Zinstermin bewirkt mit wachsenden n immer weniger. Die Funktion g wird bei wachsenden n kleiner.

Wir zeichnen die Funktionen bei jährlicher, monatlicher und täglicher Verzinsung.

> with(plots):

> p:= plot([f(x,1), f(x,12), f(x,365), g(x,1), g(x,12), g(x,365)], x= 0..1):

> shift := 0.1:

Wir wollen das Bild noch beschriften.

> t0 := textplot([1, -shift,` Zinssatz`],align={BELOW,RIGHT}):

> t1 := textplot([1, f(1,1)-shift, `f(.,1)`],align={BELOW,RIGHT}):

> t2 := textplot([1, f(1,12)-shift, `f(.,12)`],align={BELOW,RIGHT}):

> t3 := textplot([1, f(1,365), `f(.,365), g(.,365)`],align={RIGHT}):

> t4 := textplot([1, g(1,12)+shift, `g(.,12)`],align={ABOVE,RIGHT}):

> t5 := textplot([1, g(1,1)+shift, `g(.,1)`],align={ABOVE,RIGHT}):

> t6 := textplot([0, 4.5,`Verzinsung `],align={BELOW,LEFT}):

> display({p,t0,t1,t2,t3,t4,t5,t6});

Bei täglicher Verzinsung unterscheiden sich die Werte von f und g so wenig, daß die Kurven sich im Bild decken.

Die Werte sind aber nicht gleich. Bei einem Anfangskapital von 1 DM unterscheiden sie sich um etwas weniger als einen Pfennig:

> evalf(f(1,365));

[Maple Math]

> evalf(g(1,365));

[Maple Math]

Bei stündlicher Verzinzung erhalten wir

> evalf(f(1,365*24));

[Maple Math]

> evalf(g(1,365*24));

[Maple Math]

Wie zu erwarten, nähern sich die Werte von f und g mit wachsendem n immer mehr an.

Wenn wir die Zinsen in Minutenschritten ausrechnen wollen, streikt das Programm, da die Zahlen zu groß werden.

> evalf(f(1,365*24*60));

Error, (in f) object too large
Maple rechnet die Zahlen exakt (!) aus und rundet zum Schluß. Dieses Verfahren geht aber nur bis zu einer gewissen Größe der Zahlen.

Wenn wir f(x,n) für große Zahlen n berechnen wollen, brauchen wir andere Methoden, z.B. Näherungsmethoden.

Wir müssen dann aber wissen, wie gut die verwendete Näherung ist.

Problem: Offensichtlich konvergieren die Werte f(x,n) und g(x,n) mit wachsendem n gegen einen gemeinsamen Grenzwert den wir für den Augenblick mit e(x) bezeichnen wollen.

Maple kennt den Grenzwert. Es ist die Exponentialfunktion.

> limit(f(x,n), n=infinity);

[Maple Math]

> limit(f(1,n), n=infinity);

[Maple Math]

Speziell ist e(1) die Eulersche Zahl e. Maple gibt als Grenzwert ein Symbol und nicht eine Zahl mit Ziffern an. Warum?

Probleme: Kann man den Zahlenwert e(x) mit einem Computer exakt berechnen? Wie kann man z.B. die Zahl e(1) angeben?.

Wir werden sehen, daß es keine rationale Zahl, d.h. keinen Bruch p/q, wobei p und q ganze Zahlen sind, gibt, der mit e(1) übereinstimmt.

Zu jeder rationalen Zahl r gibt es nämlich ein n so, daß entweder r < f(1,n) oder g(1,n) < r gilt. Da der Grenzwert e(1) zwischen f(1,n) und g(1,n) liegt, kann er keine rationale Zahl sein!

Probleme: Die Funktionen f und g sind für große n schwierig zu berechnen. Wir brauchen bessere Näherungen. Wie vergleicht man verschiedene Näherungen? Was heißt es, daß eine Näherung besser ist?