Doppelpendel - Berechnung mit Matlab
|
![]() |
|||||
|
Ein Doppelpendel wird definiert durch die beiden Pendelmassen m1 und m2, die auf die jeweiligen Schwerpunkte bezogenen Massenträgheitsmomente JS1 und JS2, die Schwerpunktabstände von den Drehpunkten s1 und s2 und den Abstand l1 der beiden Drehpunkte voneinander.
Die Bewegung soll durch die Funktionen φ1(t) und φ2(t) beschrieben werden, die für das Zeitintervall t = 0 ... 10 s zu berechnen sind.
Die Aufgabe wird in den Kapiteln "Prinzipien der Mechanik" und "Verifizieren von Computerrechnungen" behandelt.
Die gegebenen Werte gelten für zwei schlanke Stäbe gleicher Masse und gleicher Länge. Sie sollen aus der nebenstehend skizzierten Anfangslage ohne Anfangsgeschwindigkeiten freigelassen werden, so dass folgende Anfangsbedingungen gelten:
Unter Verwendung der in der Aufgabenstellung skizzierten Koordinaten gelten folgende Bewegungs-Differenzialgleichungen (die ausführlich kommentierte Herleitung findet man im Kapitel "Prinzipien der Mechanik"):
Die Matlab-Solver für die numerische Integration erwarten ein Differenzialgleichungssystem 1. Ordnung. Deshalb werden die beiden neuen Variablen ω1 und ω2 eingeführt:
Damit kann das Anfangswertproblem so formuliert werden, wie man es Matlab anbieten kann:
Weil das Bewegungs-Differenzialgleichungssystem in den Beschleunigungsgliedern gekoppelt ist, entsteht nach dem Umschreiben auf ein System 1. Ordnung auf der linken Seite des Differenzialgleichungssystems eine "Massenmatrix" M. Matlab kann damit umgehen, man muss nur über die "options", die dem Solver (hier: ode45) übergeben werden, ankündigen, dass eine gesonderte Function diese Matrix beschreibt (hier wird für diese Function der Name Massenmatrix gewählt).
Die beiden Functions, mit denen das Differenzialgleichungssystem definiert wird (hier willkürlich Massenmatrix und RechteSeite genannt) empfangen die gleichen Werte: Zeit t und Vektor der Funktionswerte mit φ1(t), φ2(t), ω1(t), ω2(t), so dass gemeinsam mit den gegebenen Parametern der Aufgabenstellung alle Informationen verfügbar sind, um die aktuelle Massenmatrix und die aktuelle rechte Seite des Differenzialgleichungssystems zu berechnen und abzuliefern.
Es wird der Matlab-Standard-Solver ode45 verwendet. Weil keine weiteren Maßnahmen vorgesehen sind, um die Ergebnisse zu verifizieren, wird die "MaxStep"-Option vorsichtshalber mit dem relativ kleinen Wert 0.01 belegt, der ausreichend kleine Schrittweiten erzeugen wird. Der Rest des Scripts dürfte selbsterklärend sein:
Das Matlab-Script liefert die nebenstehend zu sehenden Bewegungsgesetze. Die recht bizarren Funktionsverläufe spiegeln den tatsächlich außerordentlich komplizierten Bewegungsablauf eines solchen Doppelpendels wider. Während das obere Pendel eine recht unregelmäßige Schwingung ausführt, beginnt das untere Pendel mit einem "Salto", dem bald darauf ein "Salto rückwärts" folgt.
Eine etwas bessere Vorstellung vom Bewegungsverlauf liefert die Modifikation des oben gelisteten Scripts, die eine ganz einfache Animation zeigt.