Sie sind auf Seite 1von 23

Bielefeld, den

6.06.05
Bericht zum Computerpraktikum:

Fakultt fr Physik,
Universitt Bielefeld Januar 2005
Vorwort:
Das Computerpraktikum soll einen kurzen Einblick in die Programme geben, die wir zu
Auswertung von Versuchen nutzen knnten. Ebenso wird die Anwendung von
mathematischen Programmen auf konkrete Fragestellungen erklrt.
Es ist in zwei wesentliche Kapitel unterteil, im erstem Abschnitt [A: Benutzung des
Praktikums-Rechners] wird einem grundlegendes wie einloggen, Kommandos und eine kurze
Einfhrung in die Programme Latex, Ghostview, Gnuplot und Mathematika gegeben.
Im zweiten Abschnitt [B: Projekte] werden einige einfachere Aufgaben gestellt, die zur
Vorbereitung dienen um einen Einblick in die Mglichkeiten des Computers fr
Simulationszwecke zu geben, so zum Beispiel: Das Pendel, Zufallszahlen, Clusterwachstum
am Beispiel der Brownschen Molekularbewegung, Simulation des Straenverkehrs durch
Zellautomaten und Percolation.
Das Ziel des Praktikums, die Aufgabenstellungen des gesamten Skriptes zu bearbeiten,
konnte nicht erreicht werden, so das die beiden letzten Abschnitte [C: Numerische Methoden]
und [Teil D: Anhang] nicht bearbeitet worden ist.
Inhaltsverzeichnis:
A Benutzung des Praktikums-Rechners 4
A.1.1 Benutzung des Praktikums-Rechners .................. 4
A.1.2 Einloggen auf einem UNIX Rechner ............... 4
A.1.2 Grundlegende Kommandos .................... 5
A.1.3 Der Editor emacs .... ................... ... 6
A.2 Einige Software-Pakete ........................... 8
A.2.1 Textverarbeitung mit Tex oder Latex ............. 8
A.2.2 Ansehen von 'PostScript-Dateien mit 'ghostview' ........ 9
A.2.3 Anleitung zum Programm'gnuplot' ............... 9
A.2.4 Anleitung zu Mathematica .................... 14
B Projekte 16
B.l Aufgaben zum Programm 'gnuplot' ................... 16
B.1.1 2-dimensionale Plots ....................... 16
B.1.2 3-dimensionale Plots ....................... 17
B. 1.3 Least Square (x2) Fits mit gnuplot ............... 17
B.2 Aufgaben zu Mathematica ........................ 19
B.3 Numerische Methoden - Das "einfache" Fadenpendel und Zufallszahlen 20
B.3.1 Das "einfache" Fadenpendel ................... 20
B.3.2 Zufallszahlen ... ... . . . ..... .... . ...... . .... 23
B.4 Das getriebene Pendel - deterministisches Chaos ............ 24
B.5 Brown'sehe Bewegung und Clusterwachstum - Skalengesetze 29
B.5.l Einfache Zufallswege ....................... 29
B.5.2 Self-avoiding random walks ................... 31
B.5.3 Clusterwachstum ......................... 31
B.6 Zellularautomaten simulieren Straenverkehr .............. 35
B.7 Percolation ................................ 38
B.7.1 Einfhrung ........ . ............. .... . . 38
B.7.2 Kontinuum Perkolation . ..................... 42
B.7.3 Anleitung zu "XPercolation" ................ . . . 44
B.7.4 Aufgaben: .................. . . . . . . . . ... 45
C Numerische Methoden 47
C.l Einfache Integrationsmethoden ..................... 47
C.2 Lsung von Differentialgleichungen: Runge-Kutta Methode ...... 48
C.3 Erzeugung von Zufallszahlen ....................... 49
C.4 x
2
-Fits . ........... . ...................... 50
C.4.1 Geraden-Fit ............................ 51
D Anhang 53
D.l Fraktale .................................. 53
A Benutzung des Praktikums-Rechners
A.l Benutzung des Praktikums-Rechners
A.1.1 Einloggen auf einem UNIX Rechner
Auf den NCD-Terminals im Rauin E5-.106 befindet sich nach dem ordnungsgemen
Verlassen durch den vorherigen Benutzer ein Fenster namens 'Login Chooser'. Whlen Sie
hier den Rechner 'phyaoip' durch Doppelklicken auf die entsprechende Zeile.
Falls dieses Fenster nicht geffnet ist, etwa nach dem Einschalten des Rechners, sollte
zumindest das Fenster namens 'NCDConsole bereitstehen. Dort whlen Sie dann im
Menpunkt
LOGIN
den Unterpunkt
LOGIN NEW X SESSION
durch Anklicken mit der Maus an und erhalten so die Auswahl zwischen den verschiedenen
Rechnern..
Es erscheint eine Eingabemaske fr Ihren Benutzernamen und Ihr dazugehriges Passwort:
Beides mu eingegeben und mit der RETURN-Taste besttigt werden.
Nach korrekter Eingabe haben Sie Ihre so genannte 'session' gestartet. Im 'session
manager', dem Fenster oben links, finden Sie beim Menpunkt .
APPLICATIONS
den Unterpunkt
DECTERM/XTERM.
Mit diesem knnen Sie ein oder mehrere Fenster (bzw. Terminals) ffnen. Hier werden
Anwendungen, Systembefehle und andere Programme gestartet.
Fenster werden mit dem Befehl
exit
wieder geschlossen/beendet. Bitte schlieen Sie die Terminals nie mit dem 'Menue-
Button' oben links (Unterpunkt close), wenn eine Applikation in diesem luft, da sonst
nicht alle Prozesse auf dem Rechner ordnungsgem beendet werden und als so genannte
'ghosts' Ressourcen belegen.
Um die Session zu beenden und den Rechner fr den nchsten Benutzer freizugeben, whlen
Sie im Session - Manager, im Menpunkt
SESSION,
den Unterpunkt
END SESSION
A. 1.2 Grundlegende Kommandos
Das Betriebssystem des Rechners ist UNIX. Es unterscheidet im Gegensatz zu MS-DOS
Gro- und Kleinschreibung, also Vorsicht! Die folgende Aufstellung enthlt einige der
wichtigsten UNIX Kommandos:
1s Zeigt die Dateien im aktuellen Verzeichnis
mkdir prog Erzeugt das Unterverzeichnis 'prog'
cd prog Wechselt in das Unterverzeichnis 'prog'
cd .. Wechselt in das bergeordnete Verzeichnis
cd Wechselt in das eigene Home- Verzeichnis
mv dl d2 Schiebt die Datei ' dl ' in die Datei ' d2 ' : Umbenennen der Datei
('dl' verschwindet)
cp dl d2 Kopiert die Datei 'dl' nach 'd2' ('dl' bleibt erhalten)
more daten Zeigt den Inhalt der Datei 'daten' an; diese mu existieren
rm daten Lscht die Datei 'daten'
rmdir prog Lscht das Unterverzeichnis 'prog', sofern es leer ist
exit Schliet das aktuelle Terminal und damit auch das Fenster
yppasswd nderung des Passwortes
Ausfhrliche Hilfe zu einem UNIX Kommando bekommt man mit dem Befehl
man kommando
wobei kommando durch das entsprechende Kommando zu ersetzen ist.
Noch ein paar Bemerkungen fr UNIX-Einsteiger:
Wenn Sie mit mehreren Fenstern arbeiten, ist nur eins davon aktiv. Es wird durch einen
andersfarbigen Rahmen hervorgehoben. Tastatureingabe geht immer an das aktive Fenster,
Sie wechseln durch Mausklick.
Anwendungsprogramme knnen in eigenen Fenstern gestartet werden, damit das
XTerm-/DECTerm-Fenster nicht blockiert wird. Dazu wird das Programm mit einem '&'
aufgerufen. Zum Beispiel der Editor emacs (siehe unten):
emacs & .
Wenn die bersicht unter zu vielen gleichzeitig geffneten Fenstern verloren geht, kann
man einige davon zu kleinen Icons machen. Klicken Sie dazu auf den Punkt oben rechts auf
dem Balken des Fensters.
Um die Anwendung zu reaktivieren, doppelklicken Sie auf das Icqn. Das Programm steht im
selben Zustand wie vorher bereit, mit allen' geladenen Dateien, Optionen etc. '
DEG- und XTerms verfgen im allgemeinen ber eine Historie, das heit, mit den Cursor-
Up- und -Down-Tasten knnen Sie alte Befehle zurckholen.
Last not least: UNDC hat eine eingebaute Kopierfunktion fr Texte, die mit der. Maus
bedient wird. Klicken und Ziehen mit dem linken Knopf definiert den Textbereich, der
mittlere Mausknopf klebt den Text an der Cursrposition im aktuellen Fenster ein. Dies
Verfahren arbeitet mit allen Texten, auch von Fenster zu Fenster.
Auf jedem Unix-Rechner ist ein Standard-Drucker fr die Ausgabe von Dateien
voreingestellt. Dieser wird mit dem Kommando 'Ipr' angesprochen. Unser Drucker
versteht nur Druckdaten in einem speziellen Format, 'PostScript'. Um eine reine Text-
Datei 'name,txt' in dieses Format umzuwandeln und das Ergebnis zu drucken, geben Sie
die folgenden Befehle ein:
a2ps name.txt > out.ps Ipr out.ps
Literature :
Unix - Eine Einfhrung
(Benutzerhandbuch im Rechenzentrum fr wenig Geld zu erstehen)
(Dieses Benutzerhandbuch wird whrend des Praktikums zur Verfgung stehen)
A. 1.3 Der Editor emacs
Jeder UNIX-Rechner stellt einen Editor zur Verfgung, mit dem Sie Dateien editie-ren
knnen. Mit dem Befehl
emacs name
wird die Datei mit dem Namen 'name' in den Editor geladen. Mit den Cursortasten
knnen Sie nun in der Datei umherwandern. Die hier installierte Version des emacs besitzt
eine Menueleiste, ber die ein File geladen, gesichert, bearbeitet werden kann. All diese
Befehle stehen auch direkt ber Tastenkombintionen zur Verfgung: (<CTRL> gedrckt
halten und eine weitere Taste drcken oder <ESC> und danach eine/zwei weitere Taste
drcken). Danach eventuell einzugebene Namen von Files werden dann in der untersten Zeile
erfragt. Einige grundlegende Befehle sind nachfolgend aufgelistet. Zustzlich wird auch das
Reference Manual bereitgestellt.
<CTRL> x, <CTRL> f Ldt Datei in einen Buffer
<CTRL> x, <CTRL> s Speichern des aktuellen Buffers
<CTRL> x , <CTRL> w Abspeichern des Buffers auf eine Datei
<CTRL> x, <CTRL> c Verlassen des Emacs
<CTRL> g Befehl abbrechen
<CTRL> x, u Letzte Aktion rckgngig machen (Undo)
<CTRL> d Lscht ein Zeichens
<CTRL> k Lscht den Zeilenrestes
<CTRL> y Schreibt den zuletzt gelschten Text an die
Cursorposition (Yank Buffer)
<CTRL> <SPAGE> Markierung setzen
<ESC> w Alles zwischen Markierung unter Cursor in Buffer
kopieren. Mit <CTRL> y kann dieses an eine andere
Textstelle kopiert werden.
<CTRL> x, i File an Cursorposition setzen (Insert)
<CTRL> x, b Wechselt zu anderem Buffer
<CTRL> x, k Loescht Buffer
<CTRL> a Cursor an den Zeilenanfang
<CTRL> e Cursor an das Zeilenende
<CTRL> f Cursor ein Zeichen vor
<CTRL> b Cursor ein Zeichen zurueck
<CTRL> p Cursor eine Zeile aufwrts
<CTRL> n Cursor eine Zeile abwrts
<ESC> x goto-line Nach der Befehlsbesttigung kann die gewnschte
Zeilennummer angegeben werden
<CTRL> 1 Texte im Buffer werden passend eingefrbt
Dieses auf den ersten Blick etwas umstndlich wirkende Verfahren bietet verschiedene
Vorteile. Zum einen sind die Tastenkombinationen, hat man sie erst einmal gelernt,
wesentlich schneller zu bedienen als die Maus, zum anderen funktionieren sie unabhngig
von der Rechnerarchitektur und Tastatur.
Ein weiterer groer Vorteil des Emacs besteht darin, dass er das Textformat der gngigsten
Programmiersprachen, wie C, Fortran , MJjjX oder auch die Makefilesyn-tax kennt und die
Struktur berprfen kann. Durch den Tabulator werden verschiedene Ebenen automatisch
richtig eingerckt und bieten damit die Mglichkeit zur Kontrolle der Syntax. Weitere
Informationen knnen Sie mit dem UNDC-Kommando
man emacs abfragen.
A. 2 Einige Software-Pakete
A.2.1 Textverarbeitung mit Tex oder Latex
Das gngigste Textverarbeitungssystem in der internationalen "Physiker-Gemeinde" ist heute
Latex. Die vielfltigen Mglichkeiten von Latex lernt man durch "abgucken" in anderen
Texten. Obwohl nicht gefordert, knnten Sie den Ehrgeiz entwickeln, Protokolle in Latex zu
schreiben. Sptestens fr das Schreiben der Diplomarbeit wollen Sie sowieso Latex gelernt
haben.
Ein minimales Beispiel fr einen Latex Text finden Sie in der Datei 'protokoll.tex'.
Diesen knnen Sie mit dem emacs-Editor ansehen und verndern. Um aus einer existierenden
Latex -Datei einen ansehnlichen Text zu machen, muss dieser noch bersetzt werden. Dabei
wird der Text auf Syntax-Fehler berprft. Geben Sie dazu den Befehl
latex name
ein. (Die Endung '.tex' kann weggelassen werden. Die Datei sollte aber 'name.tex'
heien.) Tritt beim bersetzen ein Fehler auf, so geben Sie 'quit' oder x ein. Sie knnen mit
Return die bersetzung weiterlaufen lassen und sich einen berblick ber alle auftretenden
Fehler verschaffen. Dabei werden jedoch korrekte Stellen mglicherweise falsch als
Folgefehler angezeigt.
Wird der Text fehlerfrei bersetzt, so wurde nun eine Datei mit dem Namen 'name. dvi'
erzeugt. Den formatierten Text knnen Sie sich nun mit dem Programm ,'xdvi' ansehen.
Geben Sie dazu
xdvi name
ein. (Die Endung, '.dvi' kann wieder weggelassen werden.) Alles weitere ist wieder
selbsterklrend. Noch eine Bemerkung: eingebundene Bilder im PostScript-Format (siehe
unten) knnen von xdvi nicht dargestellt werden, stattdessen finden Sie leere Zwischenrume
vor.
Sind Sie mit dem Erscheinungsbild des Textes zufrieden, kann dieser gedruckt werden. Dazu
mu der Text vom dvi-Format in das ps-Format umgewandelt werden. Geben Sie dazu
'dvips -o name.ps name'
ein. Dies erzeugt die Datei 'name.ps ' die nun auf einem Postscript-Drucker gedruckt
werden kann. Man kann sich das Resultat auch mit 'ghostview' ansehen.
Literatur:
Latex-Manual(steht beim Praktikum zur Verfgung)
Latex-Companion: http://www.dante.de
A.2.2 Ansehen von PostScript-Dateien mit 'ghostview'
Die mit 'gnuplot' oder anderen Programmen erzeugten Dateien (Bilder, Texte, ..,) im
Postscript-Format knnen mit dem Programm 'ghostview' angesehen werden. Geben Sie
den Befehl
'ghostview name.ps'
ein, um sich die Datei mit dem Namen 'name.ps' anzusehen. Alles weitere ist selbst-
erklrend. (Obwohl der Name der ps-Datei beliebig sein kann, ist es bliche Konvention, da
Namen von PostScript-Dateien mit der Endung '.ps' enden.
A.2.3 Anleitung zum Programm 'gnuplot'
Aufruf und Hilfe:
Das Programm 'gnuplot' dient zur graphischen Darstellung von Funktionen, Relationen
oder Datenpunkten. Es wird mit dem Kommando
'gnuplot'
gestartet. Das Programm ist interaktiv, nach dem Start sehen Sie im Fenster die
Eingabeaufforderung
'gnuplot>'
die Ihnen signalisiert, dass hier Gnuplot-Kommandos erwartet werden.
Alternativ knnen Sie das Programm auch in einem eigenen Fenster durch den Befehl
'gnu' starten.
Das Programm wird mit dem Befehl 'quit' beendet.
Gnuplot stellt zu allen Befehlen und deren Optionen eine ausfrliche Hilfe zur Verfgung.
Man bekommt sie mit dem Befehl 'help' der durch das Fragezeichen abgekrzt werden
kann. Es ist sinnvoll, den problematischen Befehl direkt anzugeben, etwa 'help plot'
oder '? set xrange'. Die Stichworte finden Sie in dieser Anleitung.
VORSICHT: die Gnuplot-Hilfe ist sehr ausfhrlich und verwendet viel Raum fr Details, die
fr Sie nicht relevant sind. Lesen Sie quer und schauen Sie sich die Beispiele an.
Beachten Sie, dass Gnuplot Abkrzungen fr alle Befehle und Schlsselwrter akzeptiert,
wenn sie eindeutig sind. Auerdem verfugt auch gnuplot, ebenso wie die Terminals, ber eine
Historie.
Definition von Funktionen
Gnuplot kennt eine Reihe von vordefinierten Funktionen. Eine Liste hiervon erhalten Sie mit
'help functions'.
Es knnen aber auch neue Funktionen definiert werden, z.B.
f(x) = sin(x),
g(x) = exp(-z),
h(x,y) = sin(x) * cos(y)
Einfache 2-Dimensionale Plots
Zweidimensionale Plots von Daten und Funktionen werden mit dem Befehl 'plot'
erzeugt:
plot f(x),
plot x * *2 ,
plot 'Datenfile'
Das zweite Beispiel erzeugt dabei eine Parabel, der Befehl ' ** ' bedeutet potenzieren.
Dateinamen mssen in Anfhrungszeichen gesetzt sein, damit das Programm sie von
Variablen unterscheidet. '
Ein eng verwandter Befehl ist 'replot'. Seine Syntax entspricht der von 'plot'
zeichnet aber seinen Graphen auf den letzten Plot. Ohne Argumente aufgerufen, wiederholt er
einfach den letzten Plot.
Parameter und Optionen fr 2-Dimensionale Plots
Hier werden die wichtigsten Optionen zum plot-Befehl vorgestellt. Weitere finden Sie in der
Hilfe.
Die vollstndige Syntax sieht wie folgt aus:
plot {ranges} function {title} {style}
plot {ranges}'Datenfile'{modifier} {title} {style}
Die Reihenfolge der Argumente ist wichtig, man darf nicht die style-Optionen vor dem Titel
setzen usw.
Ranges: Gibt den Achsenbereich an, der gezeigt werden soll. Wird dieser Parameter
weggelassen, so whlt Gnuplot den Bereich automatisch aus. Ein Bereich kann
folgendermaen gewhlt werden:
plot [< xmin >:< xmax >][< ymin >:< ymax >] < function >
Man kann das Zeichen '*' benutzen, wenn ein Rand automatisch gewhlt werden soll, z.B.
plot [-5.5 :*][*: 2.3] f(x)
Der replot-Befehl bedarf keiner Ranges, er benutzt die des zugehrigen plot-Befehls
Titel:
Definiert die Bezeichnung der Funktion. Ohne diesen Parameter erscheint als Titel die
angegebene Definition, so wie sie im plot-Befehl steht.
plot sqrt(x) title 'Wurzelfunktion'
Style:
Es gibt verschiedene Mglichkeiten, wie Gnuplot Funktionen und Dateien darstellen kann.
Hier eine kleine Auswahl:
plot f(x) with lines
plot f (x) with linespoints
plot f (x) with points
plot f(x) with errorbars
Fehlerbalken werden weiter unten erklrt, die anderen Optionen sollten klar. sein.
Datenfile:
Wenn man anstatt einer Funktion eine Datei angibt, so werden die Daten aus der Datei
geladen und angezeigt. Jede Zeile in der Datei entspricht einem Datenpunkt. Ohne weitere
Angaben definiert die erste Spalte den Wert auf der x-Achse und die zweite Spalte den Wert
auf der y-Achse.
Es knnen mehr Spalten gleichzeitig eingelesen werden, die Informationen ber Fehler,
weitere Koordinaten oder andere Funktionen enthalten.
Modifier:
Der Parameter 'using' bestimmt, welche Spalten verwendet werden. I folgenden
Beispiele plotten Spalte 3 ber Spalte l und Spalte 4 ber Spalte 2, wobei Spalte 5 die Hhe
der Fehlerbalken angibt. .
plot 'daten.datf using 3:1
plot 'daten.dat' using 2 : 4 : 5 with errorbars
Es gibt auch die Mglichkeit mit den Daten zu rechnen.
plot 'daten.dat' using ($1 - 2.5) : ($2 + $3)
plot 'daten.dat' using (sin($l)) : 2
Es gibt weitere Optionen, mit denen man die Gestalt der Bilder ndern kann. Mit dem Befehl
'set' lassen sich noch andere Parameter einstellen, z. Bsp.:
set title setzt den Titel fr den Gesamtplot fest
set xlabel"Text", set ylabel"Text": Achsenbezeichnungen
set logscale x, u, set nologscale setzt und verlsst eine logarythmische
Achseneinteilung.
Mit dem Befehl 'set parametric' gelangt man in den parametrischen Modus. Dieser
ist u.a. geeignet, um nicht nur Funktionen, sondern auch Relationen zu zeichnen. Geben Sie
als Funktion das Paar v(t), y(t) an.
set parametric
zweipi = 6.283185307
plot [0 : 4] sw.(zweipi * t), cos(zweipi * (1.2 * t + 0.1))
Es ist wichtig, diesen Modus durch 's et noparam' wieder zu verlassen, wenn Sie
anschlieend normal weiterarbeiten wollen.
3-Dimensionale Plots:
Der Befehl splot zeichnet 3-dimensionale Oberflchen, also Funktionen der Gestalt z = /(x,y).
Die allgemeine Syntax ist:
splot {ranges} function {title} {style}
splot {ranges}'Datenfile'{modifier} {title} {style}
splot kennt im wesentlichen die Parameter des plot-Befehls, dazu einige weitere, die
Projektion und Darstellung des 3-dimensionalen Objektes festlegen. Lesen Sie hierzu die
Hilfe-Funktionen.
Einige Einstellungen wie Blickrichtung, Struktur der Oberflche, etc., knnen durch folgende
Befehle variiert werden.
sei view < rot JE > {, {< rot.z >}{, {< scale >}{, < scalejt
>}}}
sei surface,
sei nosurface
sei contour
sei cntrparam
Auch bei 3-dimensionalen Plots gibt es den parametrischen Modus. Die Funktion wird
gegeben als x(u, u), y(u, v),z[u, v). Das folgende Beispiel zeichnet eine Kugeloberflche:
Set param
splot[ : 2 * pi][Q :. 2 *pi]cos(u) * sin(v)., sin(u) *
sin(v), cos(v)
Least Square (x
2
) Fits mit Gnuplot
Mit Gnuplot lasen sich auch Daten mit beliebigen Funktionen fitten. Der Syntax fr die fit-
Funktion sieht folgendermaen aus:
fit {rnge} function'datafile'{modifiers} via < varl >, < var2
>,...
Die Parameter sind im wesentlichen die gleichen wie beim 'plot' Befehl. Sie mssen eine
Funktion definieren, mit der die Daten gefittet werden sollen. Die unbekannten Variablen der
Funktion, die bestimmt werden sollen, geben Sie hinter dem Argument 'via' an. Diese
Variablen werden nun so bestimmt, dass die Funktion mglichst gut durch die Datenpunkte
verluft.
Lesen Sie sich die Hilfe-Seiten zum fit-Befehl durch. Im Theorie-Teil dieses Scripts finden
Sie weitere Informationen zum x
2
-Fit.
Loadfiles
Mit Hilfe des Loadkommandos lassen sich auch Dateien mit vorgefertigten Befehlen laden
und ausfhren. Das vereinfacht die Handhabung bei der wiederholten Verwendung von
mehreren 'plot' und 'replot' Befehlen. Syntax ist:
load 'Dateiname'
ACHTUNG:
'gnuplot'ist kein fehlerfreies Programm! Wenn Sie also bei der Benutzung Fehler oder
Unstimmigkeiten entdecken, die nicht durch falsche Bedienung hervorgerufen wurden, so
beschreiben Sie diese Probleme in Ihrem Protokoll.
A.2.4 Anleitung zu Mathematica
Mathematica ist ein sehr komplexes Programm, mit dem man mathematische Probleme lsen
kann. Es bietet numerische und symbolische Berechnungen, graphische
Ausgabemglichkeiten, eine eigene Programmiersprache und viele weitere Bestandteile. Das
Programm wird mit dem Kommando
'math'
gestartet. Hilfe zu Mathematica-Befehlen erhlt man durch
'? Kommando'
Eine kurze Anleitung zu allen Befehlen liefert das Programm
'mathbook'
Wenn Sie math aufgerufen haben, sollten Sie in Ihrem Terminal nun eine Zeile mit
Ln[1]:=
sehen. Hier knnen Sie nun Ihre Befehle eingeben. Da nur drei Lizenzen fr Mathematica zur
Verfgung stehen, sollten Sie das Programm unbedingt mit 'Quit' verlassen, sobald Sie
mit Ihren Berechnungen fertig sind.
Einige Befehle:
+,-,*,AA Rechenoperationen
Sin,Cos,Tan,Sqrt... Mathematische Funktionen
Pi, I, E, Infinity... Konstanten ?r, i , e, oo
N[expr,n] Numerisches Resultat von expr mit einer Genauigkeit
von n Stellen. .
% Ergebnis der letzten Rechnung.
%n Ergebnis der n. Rechnung.
Integrate[f[x], x] Unbestimmte Integration / f(x)dx
Integrate[f[x], {x, xmin, xmax}] Analytische Berechnung von Sx^n f(x)dx
NIntegrate[f[x], {x, xmin, xmax}] Numerische Nherung von S5? f(x)dx
D[f[x],{x,n}] Partielle Ableitung -j^f
WM,*] Totale Ableitung ^/.
Plot[f[x] , {rr, xmin, xmax}] 2-D Plot der Punktion f(x) von xmin bis xmax
PlotZD[f[x], {x, xmm, xmax},
{y,ymin,ymax}]
3-D Plot der Punktion /(x, y)
Clear[f] Lschen der Funktion oder des Parameter /
Display["fe",p] Umleiten der Graphik des Befehls p in die Datei
"file"
file Laden der Datei "file"
'Display["file",p]' schreibt die Graphikausgabe des Befehls p in die Datei file. Am
einfachsten verwenden Sie diesen Befehl unmittelbar nach 'Plot' bzw. 'Plot3d', sie
knnen dann fr p einfach mit % auf die graphische Ausgabe zugreifen. Diese Datei muss
noch mit dem Script 'math2eps' in das Postscriptformat umgewandelt werden.
(math2epsfilenameeizeugtfilename.eps)
Bei der Funktionsdefinition ist zu beachten, dass die freie Variable auf der linken Seite durch
Unterstriche gekennzeichnet werden muss (vgl. Beispiel). Sicherer ist es aber, gar keine
Funktionen zu definieren, sondern stattdessen mit ganzen Ausdrcken umzugehen.
Achten Sie darauf, dass Mathematica eckige Klammern [] um Argumente von Funktionen
und runde Klammern () zur logischen Gliederung verwendet.
Die Eingabe der verwendeten Mathematica-Version ist fr kompliziertere Ausdrcke sehr
umstndlich. Deshalb ist es empfehlenswert, Befehle, die immer wieder verwendet werden,
mit Hilfe eines Editors in einer Datei zu speichern und mit <<Datei ausfhren zu lassen. So
lassen sie sich auch einfacher bearbeiten.
Beispiele:
In [1] := f[x_]:= Sin[x] *x
In [2] := Plot[f[x],{x,0,30}]
Out[2] = Graphics
IN [3] := g[x_] := Exp[-x
2
]
In [4] := Integrat [g[x],{x,0, Infinity}]
Out[4] = Sqrt[Pi]/2
In [5] := N[%,10]
Out[5] = 0.8862269255
Literature:
Stephen Wolfram, Mathematica, Addison Wesley (1991)
B Projekte
Wir beginnen uns in das Programm Gnuplot einzuarbeiten, indem wir verschiedene auf dem
Rechner vorhandene Daten unter Verwendung der ntigen Kommandos graphisch darstellen
und jeweilige Aufgabenstellungen dazu bearbeiten.
B. l. l 2-dimensionale Plots
1.
Wir rufen die Datei Daten2 auf, welche wir durch das Kommando plot darstellen.
Zustzlich verbinden wir die einzelnen Werte mit Linien sowie versehen sie mit
Fehlerbalken. Im selben Diagramm stellen wir die Funktion: f(x)=1,6-0,3* durch das
Kommando replot dar.
2.
In dieser Aufgabe sollen verschieden Ellipsen im selben Diagramm dargestellt werden, dazu
wechseln wir in den parametrischen Modus. Jetzt knnen wir die Funktionen: x(t)=asin(t+c)
und y(t)=bcos(t+d) darstellen, wobei Variationen der Parameter a, b die Amplitude/ c, d die
Hauptachse der Ellipse verndern. Zum darstellen der Ellipsen verwenden wir das
Kommando plot x(t), y(t) .
3.
Abschlieend werden beide in die ebenfalls auf dem Rechner vorhandene TeX-Datei
protokoll.tex eingebunden
B.1.2 3-dimensionale Plots
1.
Die auf dem Rechner vorhandene Datei flaeche1 stellen wir ber das Kommando splot
flaeche 1 als dreidimensionales Diagramm dar. Durch Einsicht der Datei mittels des Editors
Emacs bestimmen wir den maximalen Z-Wert bzw. das Hhenmaximum, mit dem wir dann
Hhenlinie fr 70%, 80% und 90% durch Verwendung des Kommandos set contour in das
Diagramm zustzlich einfgen.
2.
Wir fgen das Diagramm, sowie Tabellen ber die Fitparameter in die unter B1.1, Punkt 3
genannte TeX-Datei ein.
B.1.3 Least Square (X) Fits mit Gnuplot
1.
Die Werte der Dateien expo1, expo2 und expo3 sollen durch eine Ausgleichsgerade
angenhert werden, auch Fit genannt.
Dazu verwenden wir die durch Gnuplot bereitgestellte Fit-Funktion, indem wir eine Funktion
f(x)=a*x**b definieren, fr die dann das Programm Gnuplot selbstndig durch den Befehl
fit f(x) `expoX` via a, b, X=1, 2, 3 die Fitparameter a und b berechnet. Eine graphische
Darstellung erhlt man wieder ber den Befehl replot.
Eine andere Herangehensweie, mit dem Vorteil der einfacheren Darstellung und daher
genauern Bestimmung der Fitparamerter sowie der Gte, besteht darin die Daten ber den
Befehl using bzw. im konkreten Anwendungsfall plot `expoX` using (log($1):(log($2))
und dem ergnzten Fitbefehl fit f(x) `expoX` via a, b using (log($1):(log($2)) darzustellen
und zu bearbeiten.
2.
Wir definieren anstelle der Fitfunktion f(x)=a*x**b die Fitfunktion f(x)=a+b*exp(c*x) und
verfahren mit den Daten expo3 wie in Punkt 1 beschrieben.
3.
Wiederum werden die Daten graphisch Dargestellt, wobei sie mit Fehlerbalken und
verbundenen Datenpunkten ergnzt werden, um sie in die Tex-Datei(B.1.3) einzufgen.
B.2. Aufgaben zu Mathematica
Es solle das Programm dazu genutzt werden die Funktionen zu Integrieren, ber das
Kommando Integrate und Nintegrate, sowie die Funktion f(x)=exp(1/x) zu betrachten
und ebenso ihre Ableitungen.
1.
Das Integral der Funktion
sin
( ax)
x
dx
kann mittels des Kommandos Integrat bzw.
Integrate [ sin [a*x]/x, {x, 0 , Infinity}) ermittelt werde und ber das Kommando If |
Im(a)==0, 0,5 n Sign[a] graphische dargestellt werden.
Das Ergebnis fr eine reele Zahl a entspricht einem Integral mit Betrag
n
2
.
2.
Berechnung des selben Intergrals unter Verwendung des Befehl Nintegrate, dabei handelt
es sich um die numerische Berechnung des Integrals, wodurch sie folgende Schwierigkeiten
ergeben knnen:
- Numerische Funktion drfen keine freien Parameter enthalten
- Da die Funktion oszilliert ergibt sich keine eindeutige Konvergenz der Funktion
Zur Vermeidung dieser Problem muss die Befehlzeile angepasst werden, indem die
Integration ber den oszillierenden Modus geschieht und die freie Variable auf ein Intervall
eingeschrnkt wird, in der Befehlszeile tritt dies folgen auf.
Plot [Nintergrate[sin[a*x]/x, {x, 0 , Infinity}, Method->Oszillatory], {a, -10, 10}]
3.
Untersuchen sie die Funktion f(x)=e**1/x und ihre Ableitung aufihr Verhalten am Punkt 0.
Da die Funktion genau an dieser Stelle eine Definitionslcke aufweisen, gehen wir bei zur
Grenzwertanalyse ber.
Dabei zeigt sich das die linksseitigen Grenzwerte beider Funktionen 0 sind, und die
rechtsseitigen Grenzwerte positiv unendlich fr die Ausgangsfunktion betragen, und negativ
unendlich fr ihre Ableitung.
B.3 Numerische Methoden Das einfache Fadenpendel und Zufallszahlen
Theorie:
Das aus der klassischen Physik bekannte Fadenpendel wird durch eine Differentialgleichung
beschrieben, wobei die die Lsung fr eine geeignete Variable
t =
.
g
l
t
und durch
Umbenennung der Zeitskala zu einer einfacheren Bewegungsgleichung fhrt.
O =sin(O) Fr kleine Amplituden lst sich diese Nherung durch die Gleichsetzung
von Winkel und dem Sinus des Winkels leicht lsen, wodurch sich dann
O(t )=Oo cos( t ) ergibt. Oo =maximale Auslenkung
Als Konsequenz ergibt sich eine Gleichung der Periodendauer, sie unabhngig von der
Auslenkung ist.
T =2n
.
l
g
Diese Nherung besitzt keine gltikeit fr Auslenkungen bei denen der Winkel Oo gro
ist.
Um eine allgemein gltige Lsung zu erhalten wird die Gleichung O =sin(O) mit
O multipliziert und dann integriert

O O d t =

sin Od t deren Ergebnis =>


1
2
(O ) =cos O+c wodurch sich
fr Peridendauer T=4
.
l
2g

(
O
.cosOcosOo
) bzw. T =4
.
l
g
( sin (
O
2
)) ergibt.
Das dabei auftretende sogenannt elliptische Integral ist analytisch nicht berechenbar, erst
durch verschiedene Umformungen gelangt man zu einem Integral, das sich leicht berechnen
lsst.
K( x)=

(
1
.1xsin o
) d o
Es macht in der Realitt keinen Sinn einen Startwert von 180
o
bzw. n zu whlen, und
ebenso auch nicht in der theoretischen Beschreibung, da sich eine Definitionslcke ergibt
bzw. ein Grenzwert von positiv unendlich.
Teil A
Aufgaben:
1.
Wir sollen das Integral sin x im Intervall [0, n ] berechnen, dazu benutzen wir das
Programmintegral, welches die Mglichkeit biete dieses anhand der Trapez-, Simpson-
und Boolregel zu berechnen.
Als Fragestellung wird gefordert, das wir bestimmen, wiev iele Sttzstellen fr die jeweilige
Regel notwendig sind, um einen Fehler unter 10
-10
zu erhalten.
Trapezregel:
Bei Verwendung dieser Regel wird die Funktion ber zwei Sttzstellen linear genhert. Dabei
ergibt sich ein Fehler der Ordnung h:

f ( x) dx=h|
1
2
f ( x0)+f ( x1)+, , ,+f ( xn1)+
1
2
f ( xn)+O( h )
Simpsonregel:
Diese Regel nhert die Funktion anhand einer Parabel an, weshalb sich ein Fehler der
Ordnung h
4.

f ( x) dx=
h
3
| f ( x0)+4f ( x1)+, , ,+2f ( xn2)+4f ( xn1)+ f ( xn)+O(h
4
)
Boolregel:
Bei dieser Regel wird die Funktion anhand eines Polynomes vierten Graddes durch fnf
Sttzstellen angenhert, und die Abweichung ist von der Ordnung h
6.

f ( x) dx=
2h
45
7f ( x0 )+32f ( x1)+12f ( x2)+32f ( x3)+14f ( x4)+, , ,
+14f ( xn4)+32f ( xn3)+12f ( xn2)+32f ( xn1)+7 f ( xn) i+O(h
6
)
Fr die geforderte Genauigkeit bentigt man nach der Trapezregel 262.144, bei der
Simpsonregel 512 und bei der Boolregel 64 Sttzstellen.
2.
In einer weiteren Aufgabe sollen wir die Option Fehleranalyse des Programms dazu
verwenden festzustellen, das der auftretende Fehler mit N
-k
abfllt.
Die Konstante k bezeichnet die Anzahl der minimal bentigten Sttzstellen, die fr die
Anwendung der jeweiligen Regel bentigt wird. (Trapez=2, Simpson=4 und Bool=6).
Um zu berprfen ob der Fehler entsprechend mit N
-k
abfllt, sollte das Produkt aus Fehler
und N
-k
konstant sein, welches es fr die Simpson- und Boolregel auch ist.
Wenn die Anzahl der Sttzstellen >1000 wird, dann steigt allerdings der Fehler wieder an, da
dann der Faktor N
-k
schnell ansteigt.
3.
Berechnen sie das Integral von sin x im Intervall [0,5; 2] auf 10 Stellen nach dem Komma
genau.

sin x=1,2937293984
Teil B
Aufgaben:
1.
Wir sollen die Periode des Fadenpendel nach der Gleichung T=4
.
l
g
K(sin (O
o
2
)) im
Intervall [0, < n ] berechnen, wozu wir das Programm fpendel nutzen, welches die
Berechnung des Integrals mit der Simpsonregel durchfhrt. Dabei soll die Rechnung eine
Genauigkeit von 10 Stellen hinter dem Komma erreichen, und die Frage lautet, wie viel
Sttzstellen dazu ntig sind.
Fr die geforderte Genauigkeit sind mindestens 150 Sttzstellen erforderlich.
2.
Welche Problematik ergibt sich bei Oo=n ? Warum?
Wie in der Theorie schon gesagt, ergibt sich eine Definitionslcke bzw. eine Grenzwert der
gegen unendlich strebt bzw. eine unendlich groe Periode.
3.
Wir sollen die Rechnung mit dem Programm Mathematica wiederholen.
Durch Verwendung des Kommandos plot[elliptik[sin[x/2]], {x, 0, n }, plotrange-
>{0,10}]
stellt das Programm das Integral graphisch dar, und bei der Einsicht des Diagramms wird die
angesrochene Problematik des des Grenzwerte Oo=n deutlich.
Teil C
Wir sollen die exakten Resultate(Teil B, Aufgabe 2.)mit denen der Nherung O =O
vergleichen und die Abweichung von 1%, 5% und10% bestimmen.
Um diesen Vergleich machen zu knnen, nutzen wir das Programm Gnuplot und ploten die
Nherung, mit replot fpendel.out und ebenso mit replot einen dritten Graph, der den Fehler
zwischen diesen beiden Graphen darstellt, indem wir den Befehl
fpendel.out using 1:((2)-0,5 n )/(0,5 n )100 nutzen.
Aus diesem Diagramm bestimmen sich die gesuchten Abweichungen zu:
0,4 rad; 0,9rad und 1,2rad.
B.3.2 Zufallszahlen
Theorie:
Bei Zufallszahlen handelt es sich um eine rekursiv erzeugte Folge von ganzen Zahlen, die
sich auf einem Intervall [0, m-1] befinden. Dabei werden sie in unserem Beispiel durch das
Verfahren: I
j+1
=aI
j
+c (mod m) erzeugt. Bei m, a und c handelt es sich um groe ganze
Zahlen. Als Startwert(seed) wird ebenfalls eine groe ganze Zahl I
o
festgelegt. Die Zahl m
steht bestimmt die maximale Lnge der Periode, in der sich die Zahlen nicht wiederholen.
Fr unsere Aufgabenstellungen reicht es Zufallszahlen bis zu einer Gre von 2
31
zu
untersuchen, und eine weitere Vereinfachung biete sich, wenn man die erzeugten
Zufallszahlen durch Division durch m auf 1 normiert.
Da unsere Zufallszahlen nach einem Algorithmus generiert werden handelt es sich nicht um
reale Zufallszahlen, sondern um lediglich eine Folge von Zahlen. Deshalb treten zwischen
den einzelnen Zahlen mehr oder minder stark Korrelationen auf, und dies Korrelationen
nehmen Einfluss auf die Gte der Zufallszahlen.
Die Gte von Zufallszahlen berprft man, indem man die Momente der Zufallszahlen
bestimmt x
k
=
1
( Messungen )

x
k
wobei fr gleich verteilte Zufallszahlen gilt
x
k
=
1
( k+1)
Aufgaben:
1.
Wir sollen das Programm rantest dazu nutzen Zufallszahlen zu erzeugen, dabei treffen wir
die Wahl von m, a, c und I
o .
Wir knnen mit Hilfe des Programms die relative Hufigkeit
P(x) fr das Auftreten von Zufallszahlen im Intervall | x , x+c bestimmen. Um die
gleichverteilung der erhaltenen Zufallszahlen zu berprfen, stellen wir mit Gnuplot
graphisch dar, und fiten das Diagramm ber einen Gradenplot f(x)=ax+b.
Mir ist unsere Wahl der Parameter m, a, c und I
o
nicht mehr bekannt, lediglich die Variable x,
sie betrug 500.000. Bei dem Fit erwarteten wir fr die Steigung a null weil die Verteilung
konstant um einen Wert kreisen soll, und fr den y-Achsenabschnitt 1.
Die gewonnen a's und b's entsprechen alle unseren Erwartungen.
a=0,00161+/-0,0011 bzw. 0,00546 +/-0,0360
b=0,99918+/-0,0064 bzw. 0,99724+/-0,0209
2.
Um die Gte der Zufallszahlen zu bestimmen nutzen wir die durch das Programm angelegte
Datei rand_num.out, in der je fnf Zufallszahlen in fnf Spalten nebeneinander
aufgetragen wurden. Indem wir zwei dieser Spalten gegeneinander Graphisch darstellen
knnen wir erkennen ob sich Abhngigkeiten ergeben haben bei der Erzeugung der
Zufallszahlen. Gibt es solche Abhngigkeiten dann ist im Diagramm ein Muster zu erkennen.
Die Darstellung erreichte man, indem man das Kommando plotrand_num.outusing x:y
nutzte, wobei alle Mglichkeiten fr x und y vorkommen mssen.
Um ein Eindruck des Musters zu zeigen haben wir nur einige der Ausdrucke diesem Protokoll
hinzugefgt, denn es ergaben sich regelmig Korrelationen. Und zwar wenn gilt
Spalte xSpalte y=2 .
3.
Zustzlich sollen wir die in eine Datei unserer Wahl, die vom Programm gemessenen und
theoretisch ermittelten Momente graphisch gegeneinander auftragen. Dazu haben wir diese
in die Datei momemte500000 kopiert, welche wir vorher angelegt haben. Durch das
Kommando plotmomente500000 using 1:2 wurden dies in Gnuplot dargestellt, und aus
dem Fit x
k
=
1
( k+1)
ergab sich ein k von 1,00049 +/-8,99486
-5
B.5. Brown'sche Bewegung und Clusterwackstum - Skalengesetze
Theorie:
In diesem Abschnitt wollen wir die Brown'sche Molekularbewegung Bewegung untersuchen,
und dazu nutzen wir ein vereinfachtes zweidimensionales Modell und nehmen an, das der
mittlere Abstand zwischen zwei Kollisionen der mittleren freien Weglnge \ entspricht.
Random Walk:
Dieses Modell beschreibt die zurckgelegte Weglnge eines Teilchens anhand von einer
bestimmten Anzahl von Sten. Ausgehend vom Koordinatenursprung tritt die erste Kollision
nach der Zurcklegung von \ ein, welches wir in diesem Modell gleich 1 setzen.
Nach diesem Sto erfolgt eine zufllige nderung des Weges bzw. des Winkels, der Weg
kann als x
1
= \ cos Oo und y
1
= \ sin Oo beschrieben werden.
Im weiteren erfolgen K-Kollisionen, die jedesmal den Weg verndern.
Um den gesamten Weg zu erhalten muss man alle Teilstcke aufsummieren, und dann
berechnet sich der Weg R ber den Satz des Pythagoras.
Einen aussagekrftigen Wert erhlt man erst nachdem man ber N verschiedene Wege
gemittelt hat.
Skalengesetze:
Der mittlere zurckgelegte Weg R hngt von der Anzahl der Kollisionen K ab, und diese
Abhnigkeit beschreibt <R(K)> ~ cK
v
f r n-> u n e n d l i c h . Um den sogenannten kritischen
Exponent v zu bestimmen gengt ein Geradenfit der Art ln <R(K)> =v lnK

+c
Self-avoiding random Walk:
Das Modell des Randomwalk gengt um die Brown'sche Molekularbewegung zu beschreiben,
aber nicht um z.b. die Anlagerung von Moleklen zu Polymere-Ketten zu beschreiben.
Dazu ist es notwendig das Modell zu ergnzen, indem man annimmt das jeder Punkt des
Gitters nur einmal Belegt werden kann, den dann ist er besetzt und das dort befindliche
Molekl stt jedes andere aufgrund von Van-der-Walls-Krften ab.
Non-Backtracking:
Der einzige Unterschied diese Modells zum Random Walk besteht darin, das der
zurckgelegte Weg eines Teilchens nicht mehr zurckgegangen werden kann.
Clusterwackstum:
Wenn sich mehre Teilchen aneinander anlagern spricht man von einem Cluster, und ein
solcher Wackstums-Prozess kann durch das Modell des Self-avioding Random Walks
beschrieben werden. Ausgehend von einem sogenanntem Kristallisationspunkt lagern sich
vorbeiziehende Teilchen an, wenn sie den angrenzenden Gitterpunkt erreichen.
Die Ausdehnung F und die Flche U des Cluster wird beschrieben durch.
F(R) ~ cR
a
und U(R) ~ cR
b

a Der Umfang des Cluster ist nicht gleich dem Zurckgelegten Weg eines Teilchens zu
setzen, sondern er wird durch b beschreiben, das ungleich 1 ist, und als fraktale Dimension
bezeichnet wird.
Aufgaben:
Teil A:
Unter Verwendung des Programms walk sollen wir das Skalenverhalten in Abhngigkeit
zur Anzahl der Kollisionen K untersuchen.
Dazu sollen wir uns erstmal einen Eindruck vom Programm bzw. den Verschieden Modellen
erhalten um die geeignete Wahl der Parameter zu finden und nachdem sollen wir den
kritischen Exponenten v fr die drei Modelle aus drei verschiedene Fit's bestimmen.(normal,
Gerade und Logarithmisch)
Normal Gerade Logarithmisch
Random Walk a=0,4881 +/-6,2927-5 a=0,9026 +/-0,0002
b=0,4959 +/-0,0001
m=0,4959 +/-1,7385-5
b=-0,1024 +/-4,4449-5
Self-avoiding a=0,6418 +/-4,5203 a=1,0488 +/-0,0011
b=0,6247 +/-0,0004
m=0,6248 +/-3,3783-5
b=0,0475 +/-7,9351-5
Non-Backtraking a=05409 +/-0,0001 a=1,2087 +/-0,0153
b=0,5080 +/-0,0032
m=0,5143 +/-2,6965-5
b=0,1690 +/-6,5390-5
Wobei unter normalen Fit f(x)=ax
b
und Geradenfit als f(x)=ax+b zu verstehen ist. Im
allgemeinen sind die Toleranzen sehr klein(-5=10
-5
).
Teil B:
Wir beginnen wieder, indem wir uns mit dem Programm vertraut machen, um festzustellen
bei welchen Einstellungen wir sinnvoll arbeiten knnen.
1.
Wir sollen die Flche sowie den Umfang als Funktion der maximalen Ausdehnung
analysieren um fr die Variablen die Fraktale Dimension zu bestimmen. Dazu Tragen wir die
Flche/Umfang gegen die maximale Ausdehnung auf und fiten die Diagramme mit einem
Graden- und einem Logarithmischenfit.
Flche Umfang
Geradenfit Logarithmischerfit Geradenfit Logarithmischerfit
Cluster
walk.out
a=2,2759+/-0,0568
b=0,6897+/-0,0081
a=0,6850+/-0,0161
b=0,8367+/-0,0466
a=1,1333+/-0,0007
b=-0,2809+/-0,0002
A=-0,2816+/-0,0122
b=0,1280+/-0,0355
Cluster
walk160.out
a=1,1169+/-0,0249
b=-02715+/-
0,0055
a=2,121+/-0,0284
b=0,7179+/-0,0302
2.
Betrachten sie den Fehler A (F(R)/R) und bestimmen sie notwendige Hufigkeit, ab der
dieser Fehler unter 10% sinkt.
Die Fehlgrenze des Umfangs sinkt ab einer dreimaligen Iteration unter 10%, erstaunlich
schnell wie ich finde.
3.
Analysieren sie die Datei walk160.out entsprechend der Aufgabe 1.
Die Fraktale Dimension eines Clusters bestimmt sich fr die Flche/Umfang indem zu ihrer
Dimension den Wert des Exponenten addiert.
Also b(A)=b+2, b(U)=b+1
Flche Umfang
Frakatle Dim. Geradenfit Logarithmischerfit Geradenfit Logarithmischerfit
Cluster walk.out 2.69 2.84 1.28 1.12
Cluster
walk160.out 1.73 1.72
B.6 Zellautomaten simulieren Straenverkehr
Theorie:
Um Straenverkehr zu simulieren beschrnken wir uns auf ein einfaches Modell, indem wir
als Strae einen Kreis annehmen, der in L-Zellen unterteilt wird, in denen sich nur ein Auto
befinden kann. Ein Fahrzeug besitzt nur den Parameter Geschwindigkeit, wobei dieser
maximal 5 betragen kann.
Eine Zustandsnderung erfolgt in vier Teilschritten, der sich gleichsam auf alle Fahrzeuge
auswirkt.
1. Beschleunigung
Alle Fahrzeuge, deren Geschwindigkeit v geringer als die maximal Geschwindigkeit ist
beschleunigen um eine Einheit auf v+1
2. Abbremsen
Wenn der Abstand d eines Fahrzeuges geringer als sein Abstand zu Vorgnger ist, wird es
um d-1 abgebremst
3. Trdeln
Ein Fahrzeug wird mit einer vorgegebenen Wahrscheinlichkeit p um eine
Geschwindigkeitseinheit abgebremst
4. Fahren
Des Fahrzeug bewegt sich entsprechend seiner Geschwindigkeit um v Pltze
Unser Modell erstellt ein so genanntes Fundamentaldiagramm, das die wichtigste Gre in
der Beschreibung des Verkehr darstellt. Es gibt einen Einblick in die Verkehrsdichte f, in der
Abhnigkeit zur Fahrzeugdichte c , welche sich wiederum aus v und p bestimmt.
Ein einfacher Zusammenhang ergibt sich fr den Fall, das alle Fahrzeuge stehen oder eine
homogen Geschwindigkeit besitzen.
f (c , p)=
1
2
|1( 14( 1p) c(1c))
1
2

Aufgaben:
Teil A:
Unter Verwendung des Programms staug sollen die folgenden Aufgaben bearbeitet werden.
Dafr ist das Programm so voreingestellt, das die Simulation 40 aufeinander folgende
Verkehrsituation fr v
max
=5 und L=200 darstellt, beginnend mit einem bereits eingespielten
Verkehr bezeichnet simuliert, was als thermalisiertes System bezeichnet wird.
1.
Machen sie sich mit dem Programm vertraut, indem sie auf den Verkehrsfluss achten, und
den Einfluss von p und c auf eben diesen untersuchen.
Um einen hohen Verkehrsfluss f zu erreichen muss die Fahrzeugdicht c hoch sein. Es
bedeutet das mglichst viele Fahrzeuge sich in mglichst kurzer Zeit durch die einzelnen
Zellen der Strae bewegen, den entscheidenden Einfluss darauf hat die Geschwindigkeit v,
die so lange steigen kann, bis die Fahrzeugdicht zu hoch wird bzw. das System umkippt, und
um die hohe Fahrzeugdicht zu verkraften mit Stau reagiert. Auf dieses Umkippen wirkt sich
die Trdelwahrscheinlichkeit p negativ aus, denn sie setz die Fahrzeugdichte bei der ein Stau
eintritt herab. Mit steigender Trdelnwahrscheinlichkeit verringert sich deshalb die maximale
Fahrzeugsdichte.
2.
Benutzen sie das Programm stau um fr 5 verschiedene Trdelwahrscheinlichkeiten die
maximale Verkehrsdichte zu ermitteln.
Das Programm erzeugt nach dem Vorgang eine Datei stau.out, die wir mit dem Editor
emacs einsehen knnen.
p c
max
f
max
0,1 0,150 0,696
0,3 0,115 0,513
0,5 0,095 0,370
0,7 0,070 0,270
0,9 0,040 0,146
Entsprechend der Erwartung verringert sich die Fahrzeugdichte/Verkehrsdichte mit
zunehmender Trdelwahrscheinlichkeit, wobei eine deutliche Verschlechterung einsetzt,
wenn die Trdelwahrscheinlichkeit ber 0,3 ansteigt.
3.
Bestimmen sie fr die 5 Trdelwahrscheinlichkeiten der vorherigen Aufgabe, ab welcher
Fahrzeugdichte es zu Staus kommt.
Um die Aufgabenstellung zu bearbeiten nutzen wir wieder das Programm staug, und werten
drei stehende Fahrzeuge als einen Stau.
Wir ermittelten folgende Werte:
p c
crit
f
crit
c
max
0,1 0,20 0,621 0,150
0,3 0,14 0,466 0,115
0,5 0,10 0,281 0,095
0,7 0,09 0,179 0,070
0,9 0,05 0,065 0,040
Wiederum sink der maximale Verkehrfluss entsprechend dem Anstieg der
Trdelwahrscheinlichkeit, und auch hier zeigt sich, das eine Trdelwahrscheinlichkeit von 0,3
den Verkehrfluss stark herabsetzt. Es wird aber auch deutlich das eine kritische
Fahrzeugdichte direkt der maximale Fahrzeugdichte folgt.
Teil B:
Wiederum sollen wir das Programm stau dazu benutzen den Verlauf eines
Fundamentaldiagrammes zu untersuchen, dabei erzeugt das Programm eine Datei stau.out
in der Flussdichten fr entsprechende Fahrzeugdichten und Trdelwahrscheinlichkeiten
gespeichert werden.
1.
Diskutieren sie den Verlauf von verschiedener Fundamentaldiagramme, in dennen die
Trdelwahrscheinlichkeit variert wurde.
Wir erstellen ein Fundamentaldiagramm indem wir die zuvor durch das Programm stau
erstellte Datei stau.all ploten. Dazu nuten wir das Kommando splot stau.all using 1:2:3 ,
dadurch wird die Flussdichte f in Abhngigkeit von der Fahrzeugdichte c und der
Trdelwahrscheinlichkeit p in einem dreidimensionalen Diagramm dargestellt. Als Ergebnis
erhalten wir ein Diagramm in dem die Flussdichte mit steigender Fahrzeugdichte stark
ansteigt, bis der Maximalwert erreicht ist. Danach sinkt die Flussdichte langsam und konstant.
Die Trdelwahrscheinlichkeit wirkt sich so aus, dass das jeweilige Maxima der Flussdichte
mit steigender Trdelwahrscheinlichkeit abnimmt, sogar soweit bis nahezu kein Maxima
mehr auftritt. All diese Beobachtungen haben wir schon in Teil A beschrieben, wie sie
zustande kommen und zu verstehen sind, jetzt prsentieren sie sich uns lediglich in einer
neuen Darstellung.
2.
Welche Auflsung der Fahrzeugdichte halten sie warum fr sinnvoll?
Die Auflsung A der Fahrzeugdichte ist durch A=
Fahrzeuge
L
definiert. Die dem Modell
zugrunde liegende Auflsung der Fahrzeugdichte halte ich fr nicht sinnvoll, denn sie hat
keinen Aussagewert, man kann aus ihr nur bestimmen, wie viele Fahrzeuge sich auf der
Strae befinden, denn L ist eine Konstante. Aber die Menge der Fahrzeuge eine Variable,
die Abhngig von der momentanen Fahrzeugdichte im System ist.
Sinnvoller wre es eine Aussage darber zu machen, wie viele Fahrzeuge sich in wie vielen
Zellen aufhalten, aber das Modell lsst dies vom Ansatz her nicht zu, denn es ist nur ein
Fahrzeug fr minimal eine Zelle zulssig, wodurch die Art der Auflsung eher einer
Geschwindigkeitsbestimmung gleich kommt.
3.
Eine optimale Flussdichte des Verkehr wurde bei c=0,1 gemessen, betrachten sie ihr
Fundamentaldiagramm und bestimmen sie die Trdelwahrscheinlichkeit fr diesen Wert.
Zu erwarten ist, das sich die maximale Flussdichte bei einer Fahrzeugdichte von 0,1 bei einer
Trdelwahrscheinlichkeit von ungefhr 0 ergibt, das findet sich so auch in unserem
Fundamentaldiagramm. Natrlich nimmt sie entsprechend der Zunahme der
Trdelwahrscheinlichkeit kontinuierlich ab. Allerding ergibt sich eine maximale Flussdichte
nicht bei einer Fahrzeugdichte von 0,1 sondern bei 0,2.
4.
Vergleichen sie ihr Fundamentaldiagramm mit einem, das die analytisch Lsung fr die
maximale Geschwindigkeit von v=1 darstellt.
Um ein Fundamentaldiagramm fr eine analytische Lsung zu ermitteln, nutzen wir die
Beziehung
f (c , p)=
1
2
|1( 14( 1p) c(1c))
1
2

, wir ploten sie indem wir das


Kommando splot [0:1][0:1]
1
2
|1( 14( 1p) c(1c))
1
2

nutzen, das auf durch die


Einschrnkung des Intervalls auf eins normiert wurde.
In der analytischen Lsung zeigt sich ein Maximum, das bei einer Fahrzeugdichte von 0,5
liegt. Somit stimmt die Lsung nicht mit den realen Messwerten berein, und ebenso wird ein
kontinuierlicher An- und abstieg zu diesem Maximum deutlich, den ich ebenso nicht erwarten
wrde, denn wenn in einer realen Verkehrsituation das Maximum der Flussdichte bei 0,1
liegt, dann bedeutet es ein starken Anstieg und kontinuierlichen Fall der Flussdichte in
Abhngigkeit zur Fahrzeugdichte, den unser Fundamentaldiagramm wiederspiegelt. Beide
Fundamentaldiagramme zeigen ein absinken der maximalen Flussdichte in Abhngigkeit zur
Trdelwahrscheinlichkeit, unseres zeigt einen konstanten Verlauf, und die analytische Lsung
einen eher exponentiellen Abfall, den ich fr wahrscheinlicher halte, wenn man wieder den
vergleich mit der Wirklichkeit sucht.