Webrelaunch 2020

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_rosenbrock
aus. Dieses definiert sogenannte "function handles" für f, Df, D^2f und einen Startwert x^0. Diese Parameter werden an die Funktion "generalgradientmethod" übergeben und heißen Eval_f, Eval_Hf und Eval_Hf, sowie x0.

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.