Kapitel 1: Einstieg: Unix und Matlab
Vorübungen
Die folgenden Texte geben eine kurze Einführung in Unix, das Arbeiten in Computernetzen und die elementaren Funktionen von Matlab:
• Unix - ein Überblick: unix.pdf
• Hinweise zur Arbeit im Netzwerk: ssh.pdf
• Matlab - eine kurze Einführung: matlab.pdf
PC-Version zu Matlab:
• Studentenversion (kostet 89 Euro) unter
The Student Edition of MATLAB - THE MATH WORKS
www.mathworks.com/products/studentedition/
• Unter www.octave.org/
findet man das Programmpaket Oktave, ein kostenloser Matlab-Clone für Linux oder Windows)
• Auch freemat.sourceforge.net ist einen Versuch wert, denn anders als bei Oktave müssen bei FreeMat Matlabvektoren und -matrizen nicht erst transponiert werden. Auch diese Programm ist kostenlos und als Version für Windows und Linux verfügbar.
Literatur zu Matlab:
• Timothy A. Davis and Kermit Sigmon:
MATLAB Primer 7th Ed., Chapman and Hall/CRC 2005,ISBN 1-58488-523-8
Ein handliches Taschenbuch, 215 Seiten; hier eine frühere Version zum Herunterladen
(siehe auch den Web-Link unten).
Anleitungen zu Matlab im WWW:
• Matlab-Skript von Floh Chmela (Uni Regensburg)
• A Practical Introduction to Matlab(Mark S. Gockenbach)
www.math.mtu.edu/~msgocken/intro/intro.html (PostScript www.math.mtu.edu/~msgocken/intro/intro.ps)
• Matlab Tutorial (Univ. Montana)
www.math.montana.edu/~umsfjdoc/matlab.html
• Matlab Tutorial: Getting Started With Matlab (David Hart, Indiana University).
http://www-math.bgsu.edu/~gwade/matlabprimer/tutorial.html
• MATLAB Primer (Kermit Sigmon, Depart. of Mathematics, University of Florida)
www.cs.iastate.edu/~cs474/MATLAB/matlab-primer.html
Kapitel 2: Zahlen und Fehler
Mehr zur Gleitkommadarstellung findet man z.B. in:
The IEEE standard for floating point arithmetic
Jamil Khatib: Introduction to Floating point calculations and IEEE 754 standard
Kapitel 3: Nullstellensuche
Das Newton-Verfahren wird sehr ausführlich in Wikipedia beschrieben:
http://de.wikipedia.org/wiki/Newton-Verfahren
Mehr über die fraktalen Grenzen bei der Suche komplexer Nullstellen mit der Newton-Raphson Methode
(auch schöne bunte Bilder) findet man unter mathworld.wolfram.com/NewtonsMethod.html
oder www.chiark.greenend.org.uk/~sgtatham/newton/
Skript - Kapitel 3
Kapitel 4: Lineare und nichtlineare Fits
Zur Einführung lese man Kapitel 2 in
H.J. Korsch: Mathematische Ergänzungen zur Einführung in die Physik, Binomi-Verlag
Skript - Kapitel 4
Kapitel 5: Lineare Gleichungen und Eigenwerte
Das Matlab-Programm gaussel.m liefert eine Lösung eines linearen Gleichungssystems durch Gauss-Elimination.
Zum Test wurde die Matrix a.dat und der Vektor b.dat benutzt.
5.2 Lineare Abbildungen
Das Matlab-Programm eigshow illustriert das Abbildungsverhalten, das durch 2x2 Matrizen beschrieben wird.
5.3 LU Zerlegung und SVD
Die Matlab-Programme [L,U,P]=lu(A) und [U,W,V]=svd(A) liefern die LU-Zerlegung bzw. die SVD-Faktorisierung der Matrix A.
Dabei ist die Matrix P mit P^2=E ist eine Pivotisierungsmatrix.
Mit pinv(A) erhält man die Pseudoinverse.
Die Eigenwerte einer Matrix berechnet man mit dem Matlab-Programm eig(A).
Das Programm saturn.m plottet die Eigenwerte einer reellen 100x100-Zufallsmatrix (normalverteilte Matrixelemente) in der komplexen Ebene. Lässt man zur Verbesserung der Statistik das Programm mehrmals laufen (Plotten ins gleiche Bild durch "hold on"), so ergibt sich eine interessante Struktur(Abb. rechts):
Kapitel 6: Integration
6.1 Das Matlab-Programm trapez.m berechnet ein Integral für eine vorgegebene Genauigkeit durch Intervallhalbierungund Romberg Extrapolation.
Matlab stellt das Integrationsprogramm quad bereit.
6.2 Die Gauss-Legendre Integtion beruht auf den Legendre-Ploynomen(siehe Mathem.Erg.).
Mehr darüber findet man im Abramowitz-Stegun: www.math.sfu.ca/~cbm/aands/
Das Programm gaussint.m integriert mit dieser Methode unter Verwendung der stützstellen und Gewichte aus wgauss.m.
6.3 & 6.4: Mehrfachintegrale und Monte Carlo Integration:
Das Programm montec.m integriert eine eindimensionale Funktion mit n zufälllig gewählten Stützstellen. Die Genauigkeit in Abhängigkeit von der Stützstellenzahl wird getestet in montect.m.
Die mehrdimensionale MC-Integration wird illustiert durch Berechnung der fläche eines einheitskreises in den Programmen montecK1.m und montecK3.m.
Ein verbessertes Konvergenzverhalten erreicht man mit Quasi-Zufallszahlen, wie die Halton-Folgen berechnet in halton.m
und angewandt in montecK2.m und montecK4.m.
Wer mehr über Quasi Monte Carlo wissen will, finder Informationen auf der WebSeite graphics.uni-ulm.de von Alexander Keller, ein Ex-Kaiserslauterner, der auch einmal hier im FB Physik mitgearbeitet hat.
Skript - Kapitel 6
Kapitel 7: Gewöhnliche Differentialglechungen
7.1-2 : Numerische Lösungsverfahren
Die Euler-Methode ist einfach, aber schlecht konvergent.
Das demonstriert das Programm haosz_e.m harmonische Oszillatoren.
Die modifierte Euler Methode ist wesentlich genauer, was man mit dem Programm haosz_me.m am Beispiel des harmonischen Oszillators überprüfen kann.
7.4 : Adaptive Schrittweiten
Noch besser, allerdings nicht mehr ganz so elementar, sind die Runge-Kutta-Fehlberg Verfahren
mit adaptiver Schrittweitensteuerung (Matlab-Programme wie ode45.m).
Die Programme odehaosz.m, odehaoszR.m mit dem Hilfsprogramm fhaosz.m zeigt die Anwendung auf den harmonischen Oszillator.
Das Programm odeduff.m mit dem Hilfsprogramm fduff.m zeigt die Anwendung auf den Duffing-Oszillator.
Detailliertere Untersuchungen der chaotischern Dynamik des Duffing-Oszillators ermöglicht des Programm poinduff.m zur Berechnung von Poncare-Schnitten.
< Eine steife Differentialgleichung erkennt man an den (unnöig) kleinen Schritweiten. Das demonstriert das Programm odevdp.m (mit fvdp.m).
7.5 : Randwertprobleme
Die Lösung von Problemen mit Randbedingungen duch die "Shooting"-Methode.
Beispiel: Berechnung von Eigenfunktionen der Schrödinger-Gleichung mit dem Programm schroed.m .
Weitere Methode: Relaxationsverfahren (Jacobi, Gauss-Seidel, Überrelaxation)
(siehe auch Mathemat. Ergänzungen, Kap.11.2 zur numerischen Lösung der Poisson Gleichung)
Programm zur Jacobi-Relaxation: jacrel1.m, jacrel2.m (Hilfsprogramm: jacabf.m )
Das Matlab-Programm bvp4c benutzt die Kollokationsmethode. Ein Beispiel ist Gegenstand von Aufgabe 24.
Kapitel 8: Fourier-Transformation
8.1-2 Fourier Reihe & Fourier Transformation
Zur Wiederholung: Mathemat. Ergänzungen, Kap.12
Zur Illustration:
Das Matlab-Programm xfourier illustriert die Fourier Reihe (Fourier Entwicklung einer Rechteck-Funktion)
Das Applet unter www.nst.ing.tu-bs.de/schaukasten/fourier/ ermöglicht den Aufbau eines Signals aus den einzelnen Fourier-Komponenten.
Das Applet unter cnyack.homestead.com/files/afourtr/ftpulrec.htm modelliert die Auswirkungen eines Tiefpass- Filters (dabei werden im Frequenzraum die Beiträge grosser Frequenzen eliminiert) auf ein Rechtecksignal. Erklären Sie das Verhalten des rekonstruierten Signals bei Variation der Abschneidefrequenz.
8.3 Faltung und Korrelation
Das Programm corr1.m demonstriert das 'Entrauschen' eines Signals unter Verwendung der Korrelation (siehe P. De Vries, Computerphysik).
8.4 Schnelle Fourier-Transformation (FFT)
Die Matlab-Programme fastf1.m, fastf2.m, fastf3.m,fastf4.m, fastf5.m, fastf6.m
illustrieren den Umgang mit der schnellen Fourier-Transformation.
Kapitel 9: Monte-Carlo-Methoden
9.1 Zufallszahlen
Erzeugung und Test gleichverteilter Zufallszahlen;
Abstandsverteilung von Zufallszahlen in n-dimensionalen Räumen
Erzeugung nicht-gleichverteilter Zufallszahlen (Inversions- u. Ablehnungsmethode) (Lit. Press, Kap. 7.3)
9.2 Zufällige Abbildungen
sierp1.m, sierp2.m
fraktal0.m, fraktal1.m, fraktal2.m, fraktal3.m
Literatur: H. Jürgens et al., Spektr. d. Wissensch. 9/1989 S.53-64
Applets und mehr dazu unter www.jgiesen.de/ChaosSpiel/Chaos.html
9.3 DLA - Diffusionabegrenztes Wachstum
Literatur: Kinzel u. Reents, § 5.3
Sehr schön sind die Erklärungen und das Applet dazu in
apricot.polyu.edu.hk/dla/dla.html
Viel mehr zum Thema findet man auch unter www.oche.de/~ecotopia/dla/
oder bei Wikipedia: en.wikipedia.org/wiki/Diffusion-limited_aggregation
9.4 Perkolation
Zum Einstieg: phycomp.technion.ac.il/~comphy/classfiles/percolation.html
Lit.: O. Stauffer: Introduction to Percolation Theory (PHY 330/166)
Das kleine Matlab-Programm aus der Vorlesung: perkol.m
Hier ein Applet: www.krl.caltech.edu/~adami/CD1/Percolation/big.html
9.5 Ising-Modell des Ferromagnetismus
Applet aus der Vorlesung: File ising.zip für Windows,
9.6 Kürzeste Rundreise
Hier einige Web-Seiten zum Thema Travelling Salesman Problem:
en.wikipedia.org/wiki/Traveling_Salesman
de.wikipedia.org/wiki/Problem_des_Handlungsreisenden
www.tsp.gatech.edu
und ein Applet:
www.math.uu.nl/people/beukers/anneal/anneal.html
Kapitel 10: Die Schrödinger-Gleichung (eindimensional)
Literatur: Eine kurze Einführung in die Grundlagen der Quantenmechanik findet man in Demtröder III, Kap.4.
Für das Folgende ist es wichtig, dass es unterschiedliche Darstellungen physikalischer Größen gibt, wie z.B. die
Ortsdarstellung, die Impulsdarstellung sowie diskrete Matrix-Darstellungen.
10.1 Die zeitunabhängige Schrödinger-Gleichung
Energie-Eigenwerte und Eigenfunktionen:
Die diskreten Matrix-Methoden transformieren das Eigenfunktionsproblem in ein Matrix-Problem.
Einfaches Beipiel mit Matrix-Darstellung des x- und p-Operators
(siehe H.J.Korsch, M, Glück: Compution quantum eigenvalues made easy, Eur. J. Phys. 23 (2002) 413)
Matlab-Programme zu dieser Methode: eigenval.m, eigenfun.m
10.2: Die zeitabhängige Schrödinger-Gleichung
Die direkte ("naive") Diskretisierung der Schrödinger-Gleichung liefert kein brauchbares Ergebnis, wie man leicht sieht: wavenaiv.m.
Eine aktuelle numerische Methode zur Lösung der zeitabhängigen Schrödinger-Gleichung ist die Split-Operator-Methode.
Anwendungen: Zeitpropagation eines (anfangs) Gaußschen Wellenpakets für das freie Teilchen,.
harmonischer und quartischer Oszillator, Potentialstufe und Potentialbarriere.
Matlab-Programm dazu: wavepa3.m mit potf.m .
Übungsblätter
- blatt01.pdfDownload 64 KB
- blatt02.pdfDownload 67 KB
- blatt03.pdfDownload 90 KB
- blatt04.pdfDownload 72 KB
- blatt05.pdfDownload 63 KB
- blatt06.pdfDownload 63 KB
- blatt07.pdfDownload 62 KB
- blatt08.pdfDownload 83 KB
- blatt09.pdfDownload 63 KB
- blatt10.pdfDownload 63 KB
- blatt11.pdfDownload 60 KB
- blatt12.pdfDownload 95 KB
Programme:
Blatt 2: bisect.m
Blatt 3: fit.mat
Blatt 4: gaussel.m, pesfit2.m, pes_data.dat
Blatt 5: M.mat
Blatt 6 + 8: trapez.m
Blatt 10: fsignal.m
Blatt 12: eigenfun.m