• Keine Ergebnisse gefunden

” Einf¨ uhrung in das rechnergest¨ utzte Arbeiten: Maple“

N/A
N/A
Protected

Academic year: 2022

Aktie "” Einf¨ uhrung in das rechnergest¨ utzte Arbeiten: Maple“"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Karlsruher Institut f¨ur Technologie SS 2012 Institut f¨ur Theoretische Festk¨orperphysik

Dr. Andreas Poenicke 16.05.12

http://comp.physik.kit.edu/Lehre/ERA/ era@physik.uni-karlsruhe.de

Ubungsblatt zur Vorlesung ¨

” Einf¨ uhrung in das rechnergest¨ utzte Arbeiten: Maple“

(Erweiterte Version f¨ ur fortgeschrittene und ambitionierte Maplenutzer)

Hinweis: In der Onlineversion der ¨Ubungsbl¨atter k¨onnen Sie die Links direkt anklicken. Die alten Theorie ¨Ubungs- bl¨atter sind ebenfalls ¨uber die ERA-Vorlesungshomepage abrufbar.

Um dieselbe Arbeitsumgebung wie in der Vorlesung zu erhalten, starten Sie Maple und w¨ahlen Sie

”Worksheet mode“. Dies k¨onnen Sie auch nachtr¨aglich unter

”Tools“→

”Options“→Tab

”Interface“→Punkt

”Default format for new worksheets:“ ¨andern. Stellen Sie zus¨atzlich unter dem Tab

”Display“ den ersten Punkt

”Input display:“

auf ”Maple Notation“. Best¨atigen Sie nun mit einem Klick auf den Button

”Apply globally“. Im Folgenden wird expr stets als Platzhalter f¨ur einen beliebigen Mapleausdruck stehen.

Hilfe zu Maplebefehlen bekommen Sie mit einem vorangestellten Fragezeichen, z.B. ¨offnet ?int die Hilfe zum Integrationsbefehl. Die ausf¨uhrliche Onlinehilfe zu Maple ist sehr gut und enth¨alt viele Beispiele und einf¨uhrende Tutorials. Eine Googleanfrage mit “maple tutorial” findet ebenso eine Reihe n¨utzlicher Einf¨uhrungen.

1 Theo A Blatt 1: 1D-Plots, analytisches Differenzieren und Integrieren, analytische Umformung von Ausdr¨ucken

Manche der folgenden Umformungen kann Maple automatisch mitsimplifyausf¨uhren, aber eben nicht alle.

Diese ¨Ubung soll Ihnen zeigen, wie Maple mit etwas Unterst¨utzung analytische Umformungen mathematischer Ausdr¨ucke vornehmen kann.

a) Bearbeiten Sie Aufgabe 2) mit den Befehlenplot,diffundint. Viele naheliegende Umformungen vor und nach dem Integrieren/Differenzieren nimmt Maple mitsimplifyvor. Bei b)iv) hilftcombine(%,trig) nach dem Ableiten.

b) Berechnen Sie die Stammfunktion des Integrals aus Aufgabe 3direkt(ohne Substitution) mit dem Befehl int. Ignorieren Sie hierbei vorerst die Nebenbedingungen f¨ur die Parametera,b undc.

Benutzen Sie nun das Kommandoassume, um Maple diese Nebenbedingungen mitzuteilen. F¨uhren Sie nun dasint-Kommando erneut aus. Was hat sich ge¨andert?1

Weisen Sie den Parametern zuf¨allige Werte (unter Beachtung der Nebenbedingungen!) zu und plotten Sie jeweils die Differenz der Real- und Imagin¨arteile zwischen Mapleergebnis und der Musterl¨osung. Die Differenz ist nicht null; Warum sind die beiden Ausdr¨ucke dennoch ¨aquivalent?2Diese Vergleichsmethode ist zwar kein strenger Beweis, macht aber etwaige Abweichungen schnell deutlich.

c) Nun wollen wir durch analytische Umformungen zeigen, dass der Mapleausdruck mit dem arcsin mit der Muster¨osung auf dem Aufgabenblatt tats¨achlich ¨ubereinstimmt. Dazu m¨ussen Sie den erhaltenen Mapleausdruck manuell (aber innerhalb von Maple)

”auseinandernehmen“ und wieder zusammensetzen.

Benutzen Sie hierbei denom undnumer, um den Z¨ahler des Bruchs zu bekommen. Der Befehlop hilft Ihnen, das Argument des arcsin zu extrahieren und in einer separaten Variablen zu speichern. Wenden Sie den Befehlnormalauf das Argument an und vergleichen Sie wieder mit der Musterl¨osung. Stimmen alle vorkommenden Vorzeichen?

2 Theo A Blatt 2: 3D-Plots von Bahnkurven, der map-Befehl, Norm von Vektoren Bearbeiten Sie Aufgabe 5) mit Maple. Beachten Sie dazu die folgenden Hinweise:

a) Definieren Sie die gegebene Raumkurve alsVector von Ausdr¨ucken. Weisen Sie mitsubs den vorkom- menden Parametern sinnvolle Werte zu und speichern Sie das Ergebnis in einem zweiten Vektor. Diesen k¨onnen Sie nun mitspacecurveaus dem Packageplotsplotten lassen (vorherwith(plots)aufrufen!).

Welche Fehlermeldung gibt Maple aus, wenn Sie den urspr¨unglich definierten Vektor plotten wollen?

1Die beiden Ergebnisse stimmen f¨ur die komplexen Versionen der vorkommenden Funktionen nat¨urlich ¨uberein.

2Diese Frage ist nicht mit Maple zu beantworten.

(2)

b) Die zeitliche Ableitung des Vektors kann Maple leider nicht direkt berechnen, wir m¨ussen das diff- Kommando einzeln auf jede Komponente anwenden. Dies geht mit dem Befehl map durch map(f->diff(f,t),expr), wobei expr f¨ur den Vektor der Bahnkurve steht. Das Ergebnis ist wieder ein Vektor.

c) Das PackageLinearAlgebrastellt das KommandoNormzur Verf¨ugung, wobei man durchNorm(expr,2) explizit die euklidische Norm spezifizieren muss. Eventuell m¨ussen Sie Maple mitassumemitteilen, dass alle vorkommenden Parameter reell sind undR >0 gilt, dann erzeugtsimplifyaus dem Betrag wirklich einen einfacheren Ausdruck.

e) Setzen Sie hier mitsubs h= 0 in das Ergebnis ein.

Bearbeiten Sie nun Aufgabe 6). Beachten Sie dazu Aufgabe 4) und unterst¨utzen Sie Maple mit demassume- Kommando beim Integrieren. Sie k¨onnen die Ableitung von Vektoren auch in eine eigene Operatordefinition packen:VectorDiff:=(vec,var)->map(f->diff(f,var),vec). Nun k¨onnen SieVectorDiff wie den diff Befehl auch f¨ur Vektoren benutzen.

3 Theo A Blatt 4: Analytische L¨osungen von DGLn, Umgang mit sets in Maple, Limesbildung, Taylorreihenentwicklung

Bearbeiten Sie Aufgabe 11).

a) Benutzen Sie dsolve, um das System von Differentialgleichungen f¨ur die Geschwindigkeitskomponenten vx(t), vy(t), vz(t) direkt (ohne die angegebene Substitution) zu l¨osen.

b) Extrahieren Sie danach wie in der Vorlesung demonstriert nacheinander mit Hilfe von subst die L¨osun- gen f¨ur die einzelnen Komponenten von~v(t) und integrieren Sie diese direkt mit int, um die Funktionen rx(t), ry(t), rz(t) mit den entsprechenden Anfangsbedingungen zu erhalten.

Informieren Sie sich mit?plot, parametric, wie Sie Bahnkurven plotten k¨onnen.

c) Den Limes kann Maple mit limit berechnen, wenn k > 0 gesetzt ist. Das erreichen Sie bequem mit der assuming-Direktive, die diese Eigenschaft vonknur lokal f¨ur diesen einen Befehl setzt, anstatt global f¨ur alle Rechnungen.

d, e) Beachten Sie die Rechenregeln f¨ur Logarithmen, wenn Sie das Mapleergebnis mit der Musterl¨osung verglei- chen.

f ) Best¨atigen Sie mitseriesdie angegebene Entwicklung der Exponentialfunktion f¨ur kleinek. Konvertieren Sie die Reihenentwicklung in ein echtes Polynom (mitconvert). Ersetzen Sie mitsubsdie Exponentialfunktion durch das Polynom in den Ausdr¨ucken f¨ur~v und~r. Setzen Sie nun k= 0 in die erhaltenen Ausdr¨ucke ein.

Vergleichen Sie mit dem Ergebnis, das Sie erhalten, wenn Sie direkt den Grenzwert mit limit ohne den Umweg ¨uber die Taylorreihenentwicklung berechnen lassen. Warum k¨onnen Sie in der urspr¨unglichen Form nichtk= 0 einsetzen?

4 Theo A Blatt 5: Lineare Algebra, Matrizenrechnung, Eigenwerte, Eigenvektoren, LGSe Bearbeiten Sie Aufgabe 13) mit Hilfe desLinearAlgebra Package. Beachten Sie die weiteren Hinweise zu den Teilaufgaben:

a) Das Matrix-Vektor-Produkt wird mit.ausgef¨uhrt, z.B.C:=A.B;. MitTransposelassen sich auch Zei- lenvektoren in Spaltenvektoren ¨uberf¨uhren.

b) Die 3×3-Einheitsmatrix (und viele andere Matrizen mit speziellen Eigenschaften) erhalten Sie mit Matrix(3,3,shape=identity), die Determinante berechnen Sie mitDeterminant. Vergleichen Sie das Polynom mit der Ausgabe vonCharacteristicPolynomialvon A.

c) Bestimmen Sie die Nullstellen mit solve als Liste, vergleichen Sie mit der Ausgabe vonEigenvalues vonA.

d) Setzen Sie nacheinander mitsubstdie Eigenwerte inBein und l¨osen Sie das resultierende homogene LGS

einmal mit dem Kommando NullSpace und einmal mit dem Aufruf

LinearSolve(expr,Vector(3,0),free=x), wobei expr f¨ur die Matrix mit eingesetzten Eigenwerten steht. Sind die L¨osungen identisch? Vergleichen Sie schließlich mit der Ausgabe vonEigenvectors der Matrix A.

(3)

Bearbeiten Sie nun Aufgabe 14). Definieren Sie die Matrizen und extrahieren Sie die geforderten Vektoren mit Hilfe von Bereichsangaben der FormA[1,1..-1] wie in der Vorlesung besprochen. Das Skalarprodukt erhalten Sie mit dem BefehlDotProduct. Eventuell m¨ussen Sie wieder mit den Befehlensimplify,combine, expand, etc., arbeiten, um die Ergebnisse zu vereinfachen.

Bearbeiten Sie nun Aufgaben 15) und 16).

6 Theo A Blatt 9: Parametrische Plots, der seq-Befehl, 2D-Plots von Vektorfeldern, Rotation Bearbeiten Sie Aufgabe 31) mit dem Kommandoplot, das auch Bahnkurven in 2D plotten kann. Informieren Sie sich diesbez¨uglich mit ?plot, parametric. Berechnen Sie die Geschwindigkeiten mit demdiff Befehl und plotten Sie jeweils mehrere Trajektorien im Phasenraum.

Sie k¨onnen mehrere Bahnkurven als set (in geschweiften Klammern) an den plot Befehl ¨ubergeben. Ver- wenden Sie das subs Kommando und seq, um Maple automatisch ein solches set aus Bahnkurven mit verschiedenen Anfangsbedingungen x0 und v0 erzeugen zu lassen. Lange Ausgaben k¨onnen Sie mit einem nachgestellten Doppelpunkt anstatt eines Semikolons unterdr¨ucken.

Mit dem arrow-Kommando aus dem plots-Package erzeugen Sie Bilder von Vektoren, die Sie gemeinsam mit den Bahnkurven mit demdisplay-Befehl wie in der Vorlesung anzeigen lassen k¨onnen.

Plotten Sie nun die Vektorfelder aus Aufgabe 33) in 2D mit dem Befehlfieldplotaus demplots-Package.

Bilden Sie mit dem BefehlCurlaus dem PackageVectorCalculusdie Rotation der Vektorfelder (diesmal in 3D).

7 Theo A Blatt 12: Analytische DGLn, allgemeiner Umgang mit Mapleausdr¨ucken

Bearbeiten Sie Aufgabe 41) und l¨osen Sie die DGL direkt mitdsolveohne Anfangsbedingungen. Extrahieren Sie aus der Ausgabe mitopundrhsden relevanten Teil der partikul¨aren L¨osung. Suchen Sie mit Hilfe von opden Index des Teilausdrucks exp(I*omega*t), um ihn mit subsop auf 1 zu setzen (das Vorgehen ist in der Hilfe zu subsop beschrieben). Damit haben Sie dann die reine Amplitude extrahiert. Bilden Sie den Realteil der Amplitude mitRe; verwenden Sie wieder assuming, um alle vorkommenden Parameter als >0 zu definieren, damit Maple richtig k¨urzen kann.

Bestimmen Sie nun die Resonanzfrequenz, indem Sie den Realteil der Amplitude nachωableiten und nachω2 l¨osen: Ersetzen Sie hierzu mitsubsdie Variableomega durchsqrt(omega_squared)und l¨osen Sie nach der neuen Variablenomega_squared. Vergleichen Sie das Ergebnis mit Ihrer L¨osung. Zum Plotten der Amplitude k¨onnen Sie genauso vorgehen.

Bearbeiten Sie Aufgabe 42) mitdsolveund vergleichen Sie mit Ihrer L¨osung.

8 1D-Oszillator im Sombrero-Potential: numerische Behandlung von DGLn, Plotten der L¨osung, for-Schleifen, selbst erstellte Animationen

Gegeben sei das Potential

Φ(x) =x4−x2.

a) Plotten Sie das Potential Φ(x) und die KraftF(x) :=−dxdΦ(x) im Intervall [−1.2,1.2]. Formulieren Sie die Bewegungsgleichungen eines Teilchens der Masse 1 als Differentialgleichung f¨ur Maple (ersetzen Sie dabei mitsubs die Variablexdurchx(t)).

b) L¨osen Sie die erhaltene DGL numerisch mit dsolve mit den Anfangsbedingungen ˙x(t = 0) = 0 und x(t = 0) = 0.9. Plotten Sie die erhaltene Funktion x(t) mit odeplot auf einem Bereich, auf dem Sie das periodische Verhalten des Teilchens erkennen k¨onnen. Mit der Optionrefine=2erhalten Sie einen glatten Plot, wenndsolvezusammen mit derrange-Option aufgerufen wurde.

c) Zeichnen Sie nun mit Hilfe vondisplaydie beiden L¨osungen f¨ur die Anfangsbedingungen ˙x(t) = 0, x(t= 0) =±0.9 zusammen in einen Plot.

d) Erstellen Sie schließlich eine Liste von L¨osungen und Plots f¨ur die Anfangsbedingungen ˙x(t) = 0, x(t= 0) = 0.90,0.91, . . . ,1.3 und animieren Sie diese Liste ebenfalls mit display (mit der Option insequence=true). Die Erstellung einer solchen Liste l¨asst sich am besten wie in der Vorlesung de- monstriert mit einerfor-Schleife bewerkstelligen. Damit k¨onnen Sie die Folge von Maplekommandos f¨ur die Erstellung der numerischen L¨osung mit verschiedenen Parametern aufrufen.

Referenzen

ÄHNLICHE DOKUMENTE

• Sofern ben ¨otigt: Orientierungspr ¨ufung durch Klausur/m ¨undliche Pr ¨ufung am Ende der Vorlesungszeit (genauer Termin wird noch vereinbart)2. • Beide Pr ¨ufungen

Der Empf ¨anger der toUpperCase -Nachricht ist das String -Objekt, welches durch "ibm" referenziert wird.. eine Instanz von der die

BufferedReader -Objekte schließlich modellieren die Eingabe als eine Folge von Zeilen, die einzeln durch String -Objekte repr ¨asentiert werden k

• Da wir mit count die Anzahl der durchgef ¨uhrten Multiplikationen z ¨ahlen, m ¨ussen wir die Schleife solange wiederholen, bis count den gleichen Wert wie y hat.. private

• Terminierung: Bei jedem Aufruf einer rekursiven Methode muss gepr ¨uft werden, ob Aufgabe ohne erneute Rekursion gel ¨ost werden kann1. – Der Terminierungs-Code muss vor

dass es keinen Algorithmus gibt, der f ¨ur ein Programm P entscheiden kann, ob es, angesetzt auf die Eingabe D , anh ¨alt oder nicht...

Die ersten 0 Elemente einer Liste sind durch die leere Liste gegeben. Ist n > 0, die Liste aber bereits leer, so ist das Ergebnis die

[r]