3. Übung
Bearbeitung vom 8.11.06 - 13.11.06
Aufgabe 1: Least- Square- Fit
In der Vorlesung wurde mit Hilfe des Programmes least-square.cc gezeigt, wie man die Parameter für einen linearen Zusammenhang aus Messdaten ermitteln kann. In einem anderen Experiment wird die Zeit gemessen, die eine Kugel benötigt um eine bestimmte Strecke zurück zu legen. Eine metallische Kugel wird mit einem Elektromagneten gehalten. Schaltet man diesen ab, startet eine Stoppuhr, die mit einer verstellbaren Lichtschranke gestoppt wird. Auf diese Weise wird die Messreihe messung.dat aufgenommen. Die gemessenen Zeiten finden sich in der ersten, die Strecken in der zweiten Spalte. Modifizieren sie das Programm least-square.cc nun so, dass Sie die Erdbeschleunigung $g$ aus diesen Daten ermitteln können.
Aufgabe 2: Reihenentwicklungen
Die Exponentialfunktion kann als Reihenentwicklung geschrieben werden:

\begin{displaymath}
e^{x} = \sum_{i=0}^{\infty} \frac{x^{n}}{i!} = 1 + \frac{x}{1!} + \frac{x^{2}}{2!} + \frac{x^{3}}{3!} + + +
\end{displaymath}

a) Entwickeln Sie hiermit eine eigene Routine myexp.cc zur Berechnung der Exponentialfunktion.
b) Wieviel Summenglieder benötitgt man, um hiermit die Zahl $e = 2,71828$ auf fünf Stellen hinter dem Komma genau zu berechnen ?
Aufgabe 3: Numerische Integration
Entwickeln Sie ein Programm zur Integration der Exponentialfunktion mit Hilfe der Simpson- Regel. Die Grenzen $a$ und $b$, sowie die Anzahl $N$ der Unterteilungen sollen interaktiv eingelesen werden. Vergleichen Sie das Ergebnis mit dem exakten Wert. Aufgabe 4: Matrizen- Multiplikation (Aufgabe für die Experten)
a) Erstellen Sie ein Programm, mit dem Sie zwei 4x4-Matrizen multiplizieren können (die Werte können Sie vorerst selbst wählen). Die berechnete Matrix soll ausgegeben werden. Führen Sie das Programm zur Kontrolle mehrmals mit unterschiedlichen Werten aus.
b) Erweitern Sie nun das Programm so, dass es von einer Person ohne Programmiererfahrung bedient werden kann. Der Benutzer soll die Dimensionen beider Matrizen sowie deren Werte frei eingeben können. Das Programm soll auch nicht- quadratische Matrizen multiplizieren können (Beachten Sie, dass die Spaltenzahl der ersten gleich der Zeilenzahl der zweiten Matrix sein muss, um eine Multiplikation durchführen zu können).
c) Kommentieren Sie Ihr Programm und gestalten es möglichst benutzerfreundlich.
d) Wodurch werden die Benutzereingaben (Dimensionen und Werte) aus Programm b) jeweils eingeschränkt? Wie müsste das Programm verändert werden, um die Wertebereiche zu verändern ? Aus welchem Grund müssen die Bereiche festgesetzt werden?



Harm Fesefeldt
2006-11-07