Karlsruher Institut f¨ur Technologie SS 2012 Institut f¨ur Theoretische Festk¨orperphysik
Dr. Andreas Poenicke 13.06.2012
http://comp.physik.kit.edu/Lehre/ERA/ era@physik.uni-karlsruhe.de
Ubungsblatt Nr. 5 zur Vorlesung ¨
” Einf¨ uhrung in das rechnergest¨ utzte Arbeiten“
1 Matrizen
a) Erstellen Sie in Matlab die 10 ×10-Matrizen A und B wobei die Eintr¨age gegeben sind durch aij =i+j und bij =i·j. Versuchen Sie dabei keine expliziten Schleifen (foro.¨a.) zu verwenden.
b) Erstellen Sie nun eine Matrix C, deren obere H¨alfte (die ersten 5 Zeilen) aus Matrix A und deren untere H¨alfte (die unteren 5 Zeilen) aus Matrix B besteht. Berechnen Sie die Determinante und Spur der Matrix C.
c) Erstellen Sie eine tri-diagonale Matrix. Der Wert der Hauptdiagonalen sei 2, die beiden Nebendiagonalen ±1. Berechnen Sie die Eigenwerte der Matrix.
Hinweis: Folgenden Funktionen k¨onnen zum L¨osen der Aufgabe hilfreich sein: meshgrid, colon(:), det,trace, diag, ones,eig.
2 Plotten von Daten Stellen Sie das zeitliche Verhalten eines unterd¨ampften harmonischen Oszillators dar. Die Amplitude ist dabei gegeben durch x(t) =e−ζtcos(p
1−ζ2t). Plotten Sie dabei mehrere Kurven (f¨ur verschiedene 0< ζ <1) in einen Graphen.
Hinweis: Folgenden Funktionen k¨onnen zum L¨osen der Aufgabe hilfreich sein: colon(:), plot, hold on.
3 Visualisierung von Feldern
a) Es gibt eine Vielzahl von M¨oglichkeiten um zweidimensionale skalare Felder darzustellen.
Verwenden Sie Matlab um die folgenden Funktionen je auf mindestens zwei verschiedene Arten zu visualisieren:
Φ1(x, y) =xy, Φ2(x, y) = 1
1 +r6, Φ3(x, y) = e−r2 Experimentieren Sie auch mit verschiedenen Farbdarstellungen.
b) In der Physik haben wir es h¨aufig auch mit Vektorfeldern zu tun. Finden Sie heraus, wie Sie Vektorfelder in zwei Dimensionen anschaulich darstellen k¨onnen. Visualisieren Sie z.B. die Funktionen
E1(x, y) = (−y, x), E2(x, y) =−∇r, E3(x, y) = −(y, x).
Hinweis: Folgenden Funktionen k¨onnen zum L¨osen der Aufgabe hilfreich sein: meshgrid, mesh, surf, pcolor, colormap,contour, quiver.
Bitte wenden ...
4 Eigene Funktionen und Programme
a) Zur einer Punktladung q an der Stelle x0 geh¨ort das elektrische Potential Φ(x) = |x−xq
0|. Schreiben Sie eine Funktion potential, die als Parameter die x- und y-Komponenten eines Gitters, die Position (x0, y0) und die Ladung q erwartet und ein (diskretisiertes) Feld mit dem Potential zur¨uck gibt. Es sollte z.B. folgender Aufruf m¨oglich sein
[x,y] = meshgrid(-5:0.2:5,-5:0.2:5);
resultat = potential(x,y,-1.5,2.5,1);
surf(x,y,resultat);
der dann das Potential einer Ladung mit q= 1 an der Position (−1.5,2.5) darstellt.
b) Schreiben Sie eine Funktion potential2, die das Potential eines Systems mit mehreren Punktladungen darstellt. Die Funktion soll, neben den Komponenten des Gitters, eine Li- ste von Koordinaten und Ladungen als Parameter annehmen. Diese Liste ist dabei eine zweidimensionale Matrix der Form
x1 y1 q1 x2 y2 q2 x3 y3 q3
...
und bedeutet, dass sich Ladung q1 an Position (x1, y1) befindet, Ladung q2 an Position (x2, y2) usw.
Folgender Aufruf sollte m¨oglich sein
[x,y] = meshgrid(-5:0.2:5,-5:0.2:5);
resultat = potential2(x,y,[2.5 2.5 1; -2.5 2.5 -1; -2.5 -2.5 1; 2.5 -2.5 -1]);
surf(x,y,resultat);
und bei der Realisierung sollte die Funktion potentialaus Teilaufgabe b) wiederverwendet werden.