Matlab / Octave Programme
Hier werden nach und nach die Beispielprogramme aus der Übung und zusätzliche Beispiele bereitgestellt. Die Programme sind in Matlab bzw. Octave (open source) geschrieben. Falls Sie keinen Zugang zu diesen Programmen haben, können Sie bei Frau Lange (Raum 024) von der Rechnerabteilung einen Zugang zum Ausbildungspoolraum im Keller des Mathematik-Gebäudes beantragen. Auf den dortigen Rechnern ist Matlab installiert.
Falls Sie Erweiterungen oder zusätzliche Module beisteuern wollen, können Sie dies gerne tun.
Gradientenverfahren
Tipp: Mit help generalgradientmethod kann man sich z.B. Hilfe zur Funktion "generalgradientmethod" holen, in der das Gradientenverfahren implementiert ist.
generalgradientmethod.m | Allgemeines Gradientenverfahren |
linesearch_armigo.m | Die Armijo Schrittweitenregel |
iterationplot.m | Funktion zum Plotten der Iterierten |
Testbeispiele (Makros):
problem_quadratic.m | Quadratische Minimierungsaufgabe |
problem_rosenbrock.m | Rosenbrock "Bananen"-Funktion |
Schnellstart: Laden Sie alle Dateien in ein Verzeichnis. Um beispielsweise die Rosenbrock-Funktion zu minimieren führen Sie zuerst das Makro
problem_rosenbrockaus. Dieses definiert sogenannte "function handles" für
Der Aufrug von "generalgradientmethod" erfolgt dann beispielsweise über
[x,it,xx,tt] = generalgradientmethod(x0,tol,Eval_f,Eval_Df,Eval_Hf);Dabei ist tol eine vorgegebene Toleranz, z.B. tol = 1e-4.
Die Rückgabewerte sind die Lösung x, die Anzahl der Iterationen it, die Iterierten xx und die jeweiligen Schrittweiten tt. Mit
iterationplot(xx,tt,Eval_f)lassen sich dann die Iterierten und die einzelnen Schrittweiten plotten.