x=[0:.5:3]'
.
f=[1 1 0 0 3 1 2]'
Die Lösung sollte etwa so wie in Abbildung 3.3 aussehen.
In dieser Aufgabe wollen wir sehen, wie schnell Ihr Computer rechnen kann.
Die Idee ist, Gleichungssysteme mit immer höherer Ordnung mit dem Backslash-Operator zu lösen und die Ausführungszeit zu messen.
Ihr Programm soll eine for-Schleife ausführen, welche für jeden der Werte in N,
ein Gleichungssystem der entsprechenden Grösse löst. Ein Grundgerüst für Ihr Programm könnte so aussehen
T = []; for n = ... % Hier wird eine Matrix der Ordung n und eine rechte Seite % erzeugt. Verwenden Sie dazu die Funktion rand. % Reservieren Sie Platz f"ur den L"osungsvektor (zeros). tic % Hier wird das Gleichungssystem geloest. t = toc; T = [T,t]; end
Sie können nun N gegen die zugehörige Ausführungszeiten
T plotten.
Instruktiver ist es aber, wenn Sie zu allen Problemgrössen die
Mflop/s-Rate berechnen und plotten. (Aus der linearen Algebra wissen
Sie sicher, dass das Auflösen eines Gleichungssystems der Ordnung
etwa
Fliesskomma-Operationen (
) kostet.)
Wie gross ist die höchste Mflop/s-Rate, die Sie erhalten haben und wie
gross ist MHz-Rate des Prozessors Ihres Computers? (Die erhaltene Kurve
kann geglättet werden, indem man mehrere Messungen ausführt und
jeweils die besten Resultate nimmt.)
Peter Arbenz 2008-09-24