GnuPlot für Einsteiger auf physik-abc.de


Mollweide

GnuPlot Grundlagen


GnuPlot Basics

Mit GnuPlot hat man ein hervoragendes und kostenloses Programm zur Darstellung mathematischer Funktionen und Messdaten für beliebige Betriebssysteme zur Verfügung.
Die Bedinung von GnuPlot unterscheidet sich nicht, egal auf welchem Betriebssystem man sich befindet. Die konsolenbasierte Struktur des Programms findet auch unter Windows Anwendung.
Der einzige Unterschied besteht im Start des Programms. Unter Linux, Unix Mac-OS wird GnuPlot durch den einfachen Befehl gnuplot auf der Konsole geöffnet. Bei Windows durch den den gewohnten Doppelklick auf das Desktop-Icon GnuPlots, oder durch öffnen in der Startdatei (links unten, dann unter Programme, weiterer Tipp: gnuplotinstallationsanleitung für Windows)

Lernziele:

  • Darstellung von Funktionen
  • Darstellung einer Wertetabelle
  • Darstellung von Funktionen

    Befindet man sich bereits in gnuplot, so kann mithilfe des Plot-Befehls jede Funktion dargestellt werden. So wird die Sinusfunktion durch die Eingabe von
    plot sin(x) dargestellt.
    Es funktioniert jedoch auch Problemlos gleich mehrere Funktionen darzustellen. Diese werden lediglich durch ein Komma getrennt und können beliebig kompliziert sein. Möchte man zum Beispiel die Funktionen $f(x)=\sin{x}$, $g(x)=1234567\cdot\cos{x}$ und $h(x)=\frac{4\cdot x^2}{\tan{(\frac{1}{x^4-2})}}$ darstellen, so lautet der Code plot sin(x), 1234567*cos(x-2), 4*x**2/tan(1/(x**4-2))

    Abb.1: Aufrufen und Bedienen gnuplots


    In Abbildung 1 ist einmal der Aufruf GnuPlots, sowie die Befehlseingabe dargestellt. Abbildung 2 zeigt die zugehörige Ausgabe des Funktionsplots. An dieser Stelle sollte man nicht verwundert sein, den Plot in keinem Ordner gespeichert wieder zu finden. GnuPlot präsentiert an dieser Stelle nur einen ungespeicherten view. Wie man eine Speicherversion seiner Grafik bekommt, ist Bestandteil des (nächsten) Kapitels, Mein erstes Skript

    Abb.2: Die Ausgabe gnuplots

    Funktionsbefehle im Überblick

    Funktionsart Beispielfunktion GnuPlotBeispielcode Bemerkung
    Polynom $ax^n+x^m$ a*x**n + x**m Additition/Subtraktion mit +/-. Mulitiplikation mit Sternchen und exponenzieren mit Doppelsternchen
    Trigonometrische Funktionen $sin(x)$
    $cos(x)$
    $tan(x)$
    sin(x)
    cos(x)
    tan(x)
    Die Argumente müßen in Klammern stehen
    Wurzeln $\sqrt{x}$
    $a\cdot\sqrt[n]{x}$
    sqrt(x)
    a*x**(1.0/n)
    Für höhere Wurzeln muß die mathematisch gültige Umformung $\sqrt[n]{x}=x^{\frac{1}{n}}$ angewand werden. Achtung: Im exponenten muß der Zähler als Fliesskommazahl geschrieben werden, da sonst auf ganze Zahlen gerundet wird. Das heißt in den meisten Fällen würde ansonsten $x^0$ gerechnet.
    Verkettete Funktionen $\frac{4\cdot x^2}{\tan{(\frac{1}{x^4-2})}}$ 4*x**2/tan(1/(x**4-2)) Wird beim Klammern aufgepasst, kann nichts passieren.

    Darstellung von Messwerten

    Angenommen, es liegt eine Reihe von Messwerten vor, so muß diese in eine Wertetabelle eingetragen werden.(Zum Ausprobieren gibt es hier eine Testwertetabelle zum kopieren, die als Textdatei, z.B. wertetabelle.txt, gespeichert werden muß.) Innerhalb gnuplots wird hierzu plot './wertetabelle.txt' eingegeben. Da nun eine Datei mit Werten geplottet werden soll, müßen einfache Anführungszeichen (') oder normale Anführungszeichen (") benützt werden, um gnuplot zu sagen, das kein Befehl (Funktion) folgt, sondern eine Datei eingebunden wird. Hierzu muß dem Programm auch gesagt werden, wo die Datei zu finden ist.

  • Der Pfad zu dieser Datei beginnt unter Windows gewöhnlich bei Users , gefolgt von eurem Windowsbenutzernamen, gefolgt vom einem Dateinamen und eventuell gefolgt von weiteren Unterdateinamen (z.B. plot './Users/Windowsbenutzername/Desktop/OrdnerAufDesktop/dateiname.txt')

  • Bei Linux startet eine gewöhnliche Pfadangabe mit dem Homeordner, gefolgt vom Benützernamen, gefolgt von der Arbeitsfläche (je nach Distribution auch Desktop gennannt) und eventuell weiteren Unterordnern (z.B. plot './home/Linuxbenutzername/Arbeitsfläche/OrdnerAufDesktop/dateiname.txt')

  • Speichert man die Wertetabelle im selben Ordner in dem gnuplot aufgerufen wird, so ist die Pfadangabe, wie oben, kurz und beschränkt sich auf './dateiname.txt'
  • Abb.3: Die Ausgabe der Wertetabelle zusammen mit der Ursprungsfunktion