Gnuplot

Hier wollte ich ein paar Sachen zu Gnuplot zusammentragen, da sich herausgestellt hat, dass doch ziemlich viele Studenten nicht wissen, wie sie eine Bahnkurve visualisieren können.

Gnuplot, zu finden unter www.gnuplot.info ist ein Kommandobasiertes Programm zur Darstellung von Funktionen und Daten.

Warum Gnuplot? Da gibt es sehr viel, das für genau dieses Programm spricht. Die teilweise subjektiven Argumente sind nicht nach Priorität aufgelistet:

Beispiel: Skript zum Plotten der Bahnkurve aus Aufgabe 30

Wer sich mehr damit beschäftigen will: Habe hier mal ein Beispielskript zur Darstellung der Bahnkurve aus Aufgabe 30 (Periheldrehung) für Gnuplot erstellt. Könnt dann ein bisschen mit den Parametern rumspielen und schauen, was rauskommt ;-)

Aufrufen kann man es, wie folgt (betriebsystemunabhängig!)

  1. In Gnuplot ins Verzeichnis wechseln, in dem sich die Datei befindet. Mit pwd (Print Working Directory) kann man überprüfen in welchen Verzeichnis man sich gerade befindet
  2. Mittels cd "C:/pfad/zur/datei" in das gewünschte Verzeichnis wechseln (die Anführungsstriche und der normale Slash "/" sind erforderlich, auch unter Windows).
  3. Dann einfach mit load "keplerproblem.plt" das Skript aufrufen.

Hier das Skript (einfach in eine Textdatei speichern, oder runterladen: keplerproblem.plt und wie oben genannt ausführen)

Für Fragen stehe ich immer gerne zur Verfügung (E-Mail Adresse gibts im Impressum.

#
# Darstellen der Ellipsengleichung in Hauptachsenform
# mit ebenen Polarkoordinaten
#
#   r(phi) = p/(1 + epsilon*cos(alpha*phi))
#
#
# Die x- und y-Koordinaten sind dann im "normalen" Koordinatensystem
#   x = cos(phi)*r(phi)
#   y = sin(phi)*r(phi)
#
######################################################################
# Einstellungen:
#
# Anzahl der Stützpunkte
set samples 1000
#
# Koordinatengitter einzeichnen
set grid

#
# Im Parametermodus plotten (t entspricht dem phi bei Polarkoordinaten)
set parametric

#
# Winkelbereich für t angeben (in Radianten). Beliebige Werte möglich
set trange[0:20]

#
# r(phi) definieren
r(x) = p/(1 + eps*cos(alpha*x))

#
# Startwerte für p, eps und alpha setzen
# p (Halbparameter) kann willkürlich = 1 gesetzt werden
p = 1

# eps (Exzentrizität) soll zwischen 0 und 1 liegen 
# (=> E<0, gebundener Zustand)
eps = 0.8

#
# alpha kann beliebig gewählt werden:
#   alpha = 1 entspricht einfachem Keplerproblem (Ellipsen)
#   alpha < 1 oder
#   alpha > 1 bedeuten Abweichungen vom "Standard"-Gravitationspotential
alpha = 3.14

#
# Zeichnen der Funktion
# (im Parametermodus müssen plot zwei Funktionen angegeben werden, 
# eine für x, eine für y
plot cos(t)*r(t), sin(t)*r(t)