Aufgabenblatt 0.pdf kein Abgabedatum!!
Diese Aufgaben sind als Hilfe beim Selbststudium der Programmiersprache C gedacht; sie sind nicht Bestandteil des Praktikums! Die Bearbeitung dieser Aufgaben ist nicht Schein-relevant, sie dient lediglich Ihrer Vorbereitung auf die für das Praktikum zu lösenden Aufgaben. Diese Aufgaben decken das absolute Minimum der für das Praktikum benötigten Grundlagen der Programmiersprache C ab. Für das Praktikum selbst werden Sie weitere C-Kenntnisse benötigen (z.B. Vektoren, Matrizen, Pointer).
Aufgabenblatt 1 Abgabedatum: 27. April
Auf diesem Blatt sollen im wesentlichen einige elementare Techniken sowie Untersuchungen der Rechnerarithmetik und ihrer Wirkungen geübt werden. Insbesondere sollen Iteration und Rekursion, Laufzeit von Algorithmen und Rundungsfehlerproblematik geübt werden.
Die Programmierteile dieser Aufgaben sollten Sie problemlos vor Beginn des Semesters lösen können. Verwenden Sie die Aufgaben zum Selbsttest Ihrer Programmierkenntnisse in C.
Aufgabenblatt 2 Abgabedatum: 11. Mai
Zudem wird die Datei test2.c benötigt.
Bei der Bearbeitung dieser Aufgabe soll eine effiziente und speichersparende Implementierung des Gauß-Algorithmus erstellt werden. Zudem bietet diese Aufgabe eine gute Gelegenheit, etliche in der 'Einführung in die Numerik' kennengelernten theoretischen Eigenschaften des Verfahrens in der Praxis zu erleben.
Aufgabenblatt 3 Abgabedatum: 1. Juni
Zudem werden die Dateien test3.c und test3_lapack.c benötigt.
Die Dateien header3.h und names.h liefern Ihnen die Header-Dateien mit Definitonen und Prototypen, bzw. mit Makros.
In dieser Aufgabe soll das mehrdimensionale Newton-Verfahren programmiert werden. Dabei soll das in der Übung 2 erstellte Programm zum Lösen linearer Gleichungssysteme wieder verwendet werden. Als weitere Variante soll das Einbinden externer Software (LAPACK) zur Lösung linearer Gleichungsysteme exemplarisch geübt werden.
Aufgabenblatt 4 Abgabedatum: 15. Juni
Zudem werden die Dateien test4.c (Testprogramm zu Aufgabe 1), test4_3.c (Testprogramm zu Aufgabe 3) und funktionen.c (Testfunktionen) benötigt.
Die Dateien header4.h und names.h liefern Ihnen die Header-Dateien mit Definitonen und Prototypen, bzw. mit Makros.
In dieser Aufgabe soll es um verschiedene Formen der Quadratur gehen. Sie selbst sollen die Extrapolation zur summierten Trapezregel implementieren und mit der Gauß-Quadratur vergleichen. Zur Gauß-Quadratur sollen Sie einmal LAPACK zur Hilfe nehmen, um damit die Gewichte und Stützstellen zu berechnen, zu anderen können Sie ein fertiges Verfahren "von der Stange" testen. Diese Programme finden Sie unter www.netlib.org. Auch hier empfiehlt sich der intensive Gebrauch von makefiles.
Aufgabenblatt 5 Abgabedatum: 29. Juni
Bei dieser Aufgabe soll die Methode der kleinsten Fehlerquadrate an konkreten Beispielen umgesetzt werden. Konkret soll eine gegeben Funktion durch ein Polynom so approximiert werden, dass der Fehler im quadratischen Mittel auf dem Intervall minimiert wird.
Im Gegensatz zu vorherigen Aufgaben steht jetzt die Behandlung des numerischen Problems im Mittelpunkt. Das Einbinden professioneller Software wurde in den vorherigen Aufgaben bereits geübt und kann hier angewendet werden. Alternativ kann man natürlich auch den klassisichen steinigen Weg des Selberprogrammierens gehen.
Aufgabenblatt 6 Abgabedatum: 20. Juli
Zudem werden die Dateien test6.c und test6s.c benötigt.
Hier sollen klassische iterative Verfahren zur Lösung von linearen Gleichungsystemen umgesetzt werden. Diese Verfahren werden angewendet, wenn sich die Gauss-Elimination aufgrund der Größe der Matrix nicht mehr sinnvoll einsetzen lässt. In diesen Fällen wird meist die Matrix nicht explizit abgespeichert. Ein Teil dieser Aufgabe beschäftigt sich mit einer Implementierung der Verfahren, bei der die Matrix A nicht explizit zur Verfügung steht.