next up previous contents
Next: Numerischer Algorithmus Up: Numerische Lösung Previous: Numerische Lösung

Probleme der direkten Auswertung der analytischen Lösung

Nun könnte man denken, daß  mit Formel ([*]) auch die numerische Angabe der Auslenkung $ x(t)$ kein Problem mehr ist, denn jeder Taschenrechner und auch so gut wie alle Programmiersprachen stellen die Funktionen $ \sin(z)$ und $ \cos(z)$ zur Verfügung. Man muß  also nur die Funktion $ u(s)$ an den Stellen $ s=n\Delta s$ mit $ \Delta s=0,1$ und und $ n=0,1,2,...,20$ auswerten und hat das Ergebnis.

Hierbei stellen sich allerdings zwei Fragen: Wie berechnet man eigentlich $ \cos(z)$ ? Und wie geht man vor, wenn die analytische Lösung nicht einfach eine harmonische Schwingung (oder sonst eine ``elementare'' Funktion) ist ?

Um die Fragen zu beantworten ist es erforderlich sich an die mathematische Definition von $ \cos(z)$ zu erinnern. Es gibt viele Definitionen. Eine der Definitionen von $ \cos(z)$ lautet: Die trigonometrische Funktion $ \cos(z)$ ist diejenige Funktion $ u(z)$, welche die Gleichung $ \ddot{u}=-u$ mit Anfangsbedingungen $ u(0)=1$ und $ \dot{u}(0)=0$ löst. Das ist aber gerade unsere Differentialgleichung ([*]) mit $ C=1$ ! Diese Definition ist nutzlos weil zirkulär. Die Katze beisst sich selbst in den Schwanz. Um die Lösung zu berechnen muss man die Kosinusfunktion berechnen können, und um die Kosinusfuinktion berechnen zu können muss man die Lösung berechnen können. So kommen wir also nicht weiter.

Die vielleicht bekannteste Definition von $ \cos(z)$ ist die Entwicklung in eine Potenzreihe

$\displaystyle \cos(z) = \lim_{N \to\infty}\sum_{k=0}^N \frac{(-1)^k}{(2k)!}z^{2k}$ (1.18)

welche die Berechnung von $ \cos(z)$ auf elementare Rechenoperationen, wie Additionen und Multiplikationen, reduziert. Man beachte jedoch, daß  man unendlich viele Additionen und Multiplikationen braucht, um $ \cos(z)$ exakt zu berechnen ! Ein Computer kann aber in endlicher Zeit nur endlich viele Zahlen verarbeiten !

Das Problem wird klarer, wenn man etwa statt der einfachen Gleichung für den harmonischen Oszillator mit der nur leicht abgeänderten Gleichung

$\displaystyle \ddot{u}=-Csu$ (1.19)

konfrontiert ist. Die Lösung dieser Gleichung führt auf spezielle transzendente Funktionen 1.2, die nicht in jeder modernen Programmiersprache verfügbar sind. Man muß  die Lösung also selbst mit Hilfe eines numerischen Algorithmus' auf endlich viele elementare Rechenoperationen (Addition, Subtraktion, Multiplikation, etc ) reduzieren, um ein Computerprogramm schreiben zu können.

Wir wollen uns deshalb auf den Standpunkt stellen, dass die benutzte Programmiersprache keine fertigen Funktionen für $ \sin$ und $ \cos$ bereitstellt, und wir sie deshalb selbst berechnen müssen.


next up previous contents
Next: Numerischer Algorithmus Up: Numerische Lösung Previous: Numerische Lösung
© R.Hilfer et al., ICA-1, Univ. Stuttgart
28.6.2002