Fachbereich Mathematik und Informatik

Suchen
Startseite Mathematik und Informatik
Startseite
Universität Münster

Kontakt
Impressum

GNUplot

GNUplot ist ein sogenannter Funktionenplotter, ein skript- bzw. kommandozeilengesteuertes Computerprogramm zur grafischen Darstellung von Funktionen und Daten. Es eignet sich sehr gut dazu, die von AMPL / IPOPT berechneten Daten zu visualisieren. Die anfangs etwas gewöhnungsbedürftige Bedienung über die Kommandozeile bzw. über das Erstellen von kleinen Script-Files erweist sich bei häufigem Plotten ähnlicher Datensätze als überaus effizient.

Im Internet sind zahlreiche Tutorials und Dokumentationen zu GNUplot vorhanden; auf eine Auflistung des Google-Suchergebnisses wird an dieser Stelle verzichtet. ;)

Löst man beispielsweise einen optimalen Steuerprozess mit AMPL / IPOPT, so bietet es sich an, die diskretisierten Zustände, Steuerungen, Adjungierten etc. am Ende des AMPL-Programms (natürlich nach dem solve-Befehl) in eine Datei zu schreiben, um diese Daten anschließend mit GNUplot visualisieren zu können. Hat man eine auf einem Intervall [0,T] diskretisierte Größe x {i in 0..N} bzgl. einer Schrittweite h = T / N definiert und möchte den (zeitlichen) Verlauf von x darstellen, schreibt man ans Ende der AMPL-Datei etwas der Art

printf {i in 0..N} "%12.6f%12.6f\n", i*h, x[i] > 'x.out';

Der printf-Befehl nimmt zunächst die Index-Menge der zu plottenden Variablen entgegen, gefolgt von dem Format der auszugebenen Daten (hier: zwei float-Werte, d.h. Fließkommazahlen, mit insgesamt je 12 Stellen, davon 6 Nachkommastellen und einem Zeilenumbruch \n). Als nächstes Argument werden die Daten übergeben, welche zeilenweise in die Datei geschrieben werden sollen. Der Dateiname wird schließlich in Hochkommata hinter dem > angegeben.

Als Resultat dieser Anweisung sollte man nach Ausführung des entsprechenden AMPL-Programms eine Datei x.out im aktuellen Verzeichnis finden, deren Beginn z.B. folgendermaßen aussieht.

0.000000 0.000812
0.000499 0.001624
0.000999 0.003247
0.001499 0.006492
0.001999 0.012978
.... ....

Jetzt kann man mit GNUplot diesen Datensatz graphisch darstellen. Zunächst startet man das Programm in einem Terminal mit

gnuplot,

um dann mit dem Befehl

plot 'x.out'

den Graph plotten zu lassen. Soll dieser Graph nicht auf dem Bildschirm ausgegeben sondern als PS-Datei gespeichert werden, muss man vor dem Plot-Aufruf mittels

set terminal postscript

set output 'x.ps'

das Ausgabeformat auf Postscript (oder JPEG, PNG, EPS usw.) umstellen und anschließend eine Ausgabedatei festlegen. Man kann auf nahezu alle Details der Ausgabe Einfluss nehmen, eine knappe Einführung ist hier zu finden. In der kommentierten Datei plot.plt, welche man nach dem Herunterladen direkt mit dem Befehl

gnuplot 'plot.plt'

ausführen lassen kann, sind exemplarisch einige Befehle zum Plotten des Datensatzes zustand.out aufgeführt (muss zuvor ins selbe Verzeichnis wie plot.plt geladen werden).

Eine Windows-Version von GNUplot ist hier erhältlich.

zurückblättern

Diese Seite:  :: Seite drucken   :: Seite empfehlen  :: Seite kommentieren

© FB 10 Mathematik und Informatik

© FB 10 Mathematik und Informatik der Universität Münster
Einsteinstrasse 62 · 48149 Münster
Tel.: +49 251 83-3 30 16 · Fax: +49 251 83-3 83 50
E-Mail: mathdek@math.uni-muenster.de