DDBanner02

Zur Startseite

TM-aktuell

Doppelpendel, Lösung mit Matlab:

Zurück zur Aufgabenstellung

Die Bewegung eines Doppelpendels wird mit einem nichtlinearen Diffenzialgleichungssystem 2. Ordnung beschrieben. Die Differenzialgleichungen sind in den Beschleunigungsgliedern gekoppelt.

Die Matlab-Solver können Differenzialgleichungssysteme 1. Ordnung lösen. Deshalb wird durch Einführen der neuen Variablen

Ein MATLAB-Beispiel
wird hier ausführlich
beschrieben

aus den beiden Differenzialgleichungen 2. Ordnung ein System von 4 Differenzialgleichungen 1. Ordnung, von denen zwei in den Ableitungen gekoppelt sind. Das Differenzialgleichungssystem kann z. B. so formuliert werden:

mit
Den Matlab-Solvern kann ein in den Ableitungen gekoppeltes System in der impliziten Form

M (t , yy’ =  f (t , y)

angeboten werden, das oben angegebene Differenzialgleichungssystem also z. B. so:

Der nachfolgende Bildschirm-Schnappschuss zeigt die Funktion “DoppelPendel”, die das Anfangswertproblem realisiert:

  • Zu Zeilen 1 bis 7: Die Funktion “DoppelPendel” kann aufgerufen werden mit Angabe der Anfangsauslenkungen der beiden Stäbe oder ohne Parameter. Im letztgenannten Falle werden Default-Werte (Zeile 6) verwendet.
     
  • Zu Zeile 16: Mit der Option ‘Mass’ wird angekündigt, dass eine Massenmatrix zu berücksichtigen ist, der folgende Parameter gibt den Namen der dafür bereitgestellten Funktion an. Die Option ‘MaxStep’ ist zwingend, um über ein Zeitintervall von 10 Sekunden ausreichend genaue Ergebnisse zu erzielen (vgl. z. B. die Bemerkungen zur Matlab-Berechnung einer einfachen Aufgabe und die Rechnung weiter unten).

Starten mit Debug|Run oder durch Aufruf ohne Parameter aus dem “Command Window” verwendet die Default-Anfangswerte und liefert die folgende graphische Ausgabe (hier findet man die Modifikation der Matlab-Function Doppelpendel, die statt der Funktionen eine Animation der Bewegung ausgibt):

Auch in MATLAB gilt für die numerische Integration von Anfangswertproblemen, dass Kontrollrechnungen unabdingbar sind. Mit den Standard-Einstellungen kann die gewünschte Genauigkeit in diesem Fall nicht erreicht werden (auch diese recht einfache einfache Aufgabe ist dafür ein markantes Beispiel).

Wenn in Zeile 16 entsprechend

die MaxStep-Option weggelassen wird (und damit die Standardeinstellung von Matlab gilt), hat das Ergebnis (nachfolgender Bildschirm-Schnappschuss) schon nach 3 Sekunden nichts mehr mit dem korrekten Ergebnis zu tun:

Die oben gelistete M-Datei ist als Doppelpendel.m zum Download verfügbar.

Homepage TM-aktuell

www.JürgenDankert.de

D

nkert.de