4. Aufgabe aus Computergrundkenntnisse und Programmieren

Werbung
4. Aufgabe aus
Computergrundkenntnisse und Programmieren
24. Oktober 2012
Aufgabe 4.1
Betrachten Sie den (vereinfachten) Verlet-Algorithmus aus der Vorlesung,
der die Bahn eines Teilchens unter Einfluß einer Kraft berechnet,
1
x −→ x + v ∆t + f (∆t)2
2
v −→ v + f ∆t ,
wobei f die Kraft pro Masse ist ist. Betrachten Sie den Fall eines Körpers
im Schwerefeld der Erde unter Einflußs einer zusätzlichen Reibungskraft,
f = −g + ηv 2 .
g = 9.81 m/s2 ist die Erdbeschleunigung und η = 3 × 10−3 ist ein Wert,
der von der Luftdichte, der Fläche in Bewegungsrichtung sowie dem sogenannten cw -Wert abhängt.
Lösen Sie die Bewegungsgleichungen für die Anfangsposition x = 0 und
die Anfangsgeschwindigkeit v = 0. Wie groß ist die Endgeschwindigkeit
des Körpers? Wie lange dauert es ungefähr, bis der Körper die maximale
Geschwindigkeit erreicht hat? Stellen Sie die Position des Körpers grafisch
dar.
Aufgabe 4.2
Gleich wie Aufgabe 4.1, allerdings mit einer zeitabhängigen Kraft
f = −0.2 v + x − η x3 + cos(t) .
Wählen Sie als Anfangsbedingung x = v = 0 und den Zeitschritt ∆t =
0.01, und stellen Sie die Bewegung für 100 < t < 200 im Phasenraum
(x, v) dar (benützen Sie fout << x << " " << v << endl).
Untersuchen Sie die Bahnkurve für η = 0.2 und η = 0.1. Versuchen Sie,
die Ergebnisse zu interpretieren.
Aufgabe 4.3
Betrachten Sie die Datei kurs04b.cpp aus der Vorlesung. Schreiben Sie
eine Funktion sort(a,n), die ein Array a der Länge n sortiert. Benutzen Sie eine Schleife, in der zwei Zahlen vertauscht werden, wenn sie in
der falschen Reihenfolge sind. Die Schleife bricht ab, wenn es zu keinen
Vertauschungen mehr kommt.
Herunterladen