Doppelpendel Verständnisproblem

  • C#

Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Doppelpendel Verständnisproblem

    Hey,

    habe eben ein normales mathematisches Pendel programmiert (de.wikipedia.org/wiki/Mathematisches_Pendel) und wollte mich jetzt an einem Doppelpendel versuchen (de.wikipedia.org/wiki/Doppelpendel).
    Dazu habe ich folgenden Artikel gefunden: theory.gsi.de/~vanhees/faq/lagrange/node20.html
    So wie ich das verstehe kann man die Koordinaten der Massestücke durch den Winkel berechnen. Um den Winkel zu berechnen wird hier eine Formel über eine DGL hergeleitet. Die Herleitung ist mir schon zu hoch, da ich mich z.B noch nie mit Lagrangefunktionen beschäftigt habe etc. Wichtig sind im Prinzip ja nur die Formeln die unten rauskommen:





    Jetzt habe ich mehere Fragen:

    1) Ist das i im Exponent eine Variable oder die imaginäre Einheit. Und wenn es die imaginäre Einheit ist, wie kommt sie in die Formel?
    2) Um a und c zu bestimmen muss ich ja PHI ableiten. Macht es irgendeinen Unterschied beim Ableiten ob das im komplexen oder reellen Zahlenbereich stattfindet?
    3) Wenn es sich hier bei i um die imaginäre Einheit handelt, wie kann ich das Doppelpendel dann in C# darstellen. Ich kann ja z.B bei einem PointF keine imaginäre Einheit als X/Y-Koordinate angeben.
    4) Woher kommt das w und wie berechne ich es?



    Mein Ansatz:

    1) Pendel, Schwingungen etc. stehen ja im Zusammenhang mit den trigonometrischen Funktionen. Wenn ich jetzt einen Zusammenhang zwischen e, i und Pendel finden sollte würde ich sagen, dass das irgendwas mit der Eulerschen Formel zu tun hat?



    2) Da i ja im Prinzip auch nur eine Zahl ist kann ich doch auch normal ableiten. Wäre jetzt mal meine Annahme.
    3) Es gibt ja das Complex-Struct, vielleicht kann ich darüber einen Ansatz finden?
    4) Vielleicht ist w die Winkelgeschwindigkeit, aber ich weiß immernoch nicht wie ich es berechnen sollte.

    Vielleicht ist das Thema an sich zu komplex und ich sollte es einfach lassen, aber ich finde das Doppelpendel wirklich faszinierend. Vielleicht ist ja hier ein Physiker, der einschätzen kann ob das Problem mit Physik-Kenntissen auf Abiturlevel lösbar ist.

    Viele Grüße
    Bilder
    • a033c2ae2ab4b2a19dff3a035fd35437.png

      4,27 kB, 436×77, 822 mal angesehen
    • 7598e8c7e51f454c205561abe238bf55.png

      1,98 kB, 148×142, 782 mal angesehen
    • 81356a787d732a8a2d2be18db0f36aa4.png

      1,82 kB, 190×22, 820 mal angesehen

    @Pascalony Das i ist die imaginäre Einhait.
    Das Problem ist, dass sich das ganze Schwingungszeugs im realen Raum stattfindet, aber sich das ganz blöd rechnen lässt.
    Kluge Mathematiker haben gesagt, wir nehmen eine zweite Dimension hinzu, da wird aus der Pendelbewegung eine Kreisbewegung:
    real: Pendelbewegung, hin und her in x
    + zweite Dimension, hin und her in y
    zusammen Kreisbewegung in x und y.
    Insbesondere werden so die Additionstheoreme von Winkelsummen hergeleitet.
    Die Herangehensweise ist dabei stets dieselbe:
    Problembeschreibung in x-Richtung.
    Hinzunehmen einer y-Richtung, die geeignet (phasenverschoben) dazuaddiert wird,
    Lösung des Problems,
    Ausgabe des x-Anteils als "reale" Lösung.
    Um das ganze mathematisch logisch korrekt zu beschreiben, hat man die y-Einhait "imaginär" genannt und die komplexe Mathematik mit { x, i*y } als Teilgebiet entwickelt.
    Das ganze ist also nix weiter als eine geschickte Schreibweise, die viel Rechenaufwand spart.
    Beispiel: Schwingung vs Kreisbewegung:
    y = cos(x)
    y = cos(x) + i * sin(x)
    mit x => i w t
    y = cos(i w t) + i * sin(i w t)
    Additionstheorem =>
    y = exp(i w t)
    usw.
    gugst Du de.wikipedia.org/wiki/Zeigermodell
    haegar.fh-swf.de/publikationen/KomplexS.pdf
    =====
    Ein (älterer) Physiker kent leider das Abiturlevel nicht so richtig.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany

    Könnte man also sagen, dass man im Prinzip geradeaus auf die Kreisbewegung schaut? Das bedeutet man sieht die Bewegung in Y-Richtung nicht und denkt, das Pendel pendelt nur in X-Richtung?
    Mit Abiturlevel ist gemeint, dass man nur Kenntnisse in Sinus, Kosinus und Schwinungen hat. Alles was ich über Komplexe Zahlen, DGL's etc gelernt habe musste ich mir alles selbst beibringen, und das erschwert die ganze Aufgabe eben.

    Pascalony schrieb:

    Könnte man also sagen, dass man im Prinzip geradeaus auf die Kreisbewegung schaut? Das bedeutet man sieht die Bewegung in Y-Richtung nicht und denkt, das Pendel pendelt nur in X-Richtung?
    ähm bei was ich mir unter Pendel vorstelle sieht man sowohl x als auch y.
    Die Idee mit der 3. Dimension (z) ist mir neu, klingt sehr interessant, verstehe ich aber nicht wirklich.

    Also dass ein 1-Dimensionales Pendel - hier sollte man von Feder-Schwingung sprechen - sich als eindimensionale Projektion einer KreisBewegung ergibt ist mir unmittelbar einleuchtend.
    Aber das mitte 3. Dimension krieg ich nicht in meine Vorstellungswelt.
    @ErfinderDesRades

    Ja, das Pendel schwingt in X- und Y-Richtung, das ist richtig. Stell dir jetzt eine Kreisbewegung vor, auf die du nicht von oben draufguckst, sondern von vorne. Das heißt, du siehst trotz Kreisbewegung nur ein Pendel. Falls du verstehst was ich meine.

    Eine Kreisbewegung von der Seite sieht aus wie eine Linie. Aber eine Pendelbewegung wie ein Kreisbogen. Oder verstehe ich da was falsch?
    Kreisbewegung: https://puu.sh/yaXB9.mp4
    Pendelbewegung: https://puu.sh/yaXId.mp4
    (Da Videos nicht an Posts angehängt werden können und ich die forumsinterne Anhangsfunktion nicht finde, muss Puush herhalten.)
    "Luckily luh... luckily it wasn't poi-"
    -- Brady in Wonderland, 23. Februar 2015, 1:56
    Desktop Pinner | ApplicationSettings | OnUtils

    Pascalony schrieb:

    Könnte man also sagen, dass man im Prinzip geradeaus auf die Kreisbewegung schaut?
    Genau so isses.
    Mit einer Dimension mehr rechnen weil es einfacher ist und dann die Projektion in die "reale" Ebene verwenden.
    Die senkrechte Projektion wäre die "imaginäre" Ebene, zusammen ist das der "komplexe Raum".
    In der quanten-relativistischen Physik ist man da bei 13 oder 17 Dimensionen, wegen der besseren Beschreibbarkeit.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Moin,

    Das Ergebnis müsste rein reel sein, auch wenn die e Funktionen in der komplexen Ebene liegen. Aufgrund der Euler Beziehung, kann man das ganze so umformen, dass der komplexe Anteil entfällt. Projiziert werden muss da nix.
    Grundsätzlich hast du natürlich das Problem, dass du jetzt nur eine Lösung der DGL hast. Interessanter könnte dementsprechend sein, die DGL numerisch zu lösen, betrachte in diesem Zusammenhang mal "Euler Vorwärts" und "Zustandsraum Darstellung".

    Gruß Zakath

    Zakath schrieb:

    Projiziert werden muss da nix.
    Man tut es aber, weil es sich leichter rechnet.
    Pick hier nicht den einen oder einige wenige Vorgänge heraus, wo das geht, sondern sieh die Allgemeinheit, wo es einfach elegant ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Aber das Ziel bestand doch darin, das Doppelpendel analytisch zu lösen oder nicht? Und die Lösung von besagtem Pendel ist nunmal rein reel. Klar KANN man komplexe Zahlen projizieren, aber man muss es hier eben nicht. Eine Umformung nach Euler ist absolut ausreichend (und in gewisser Weise ist das ja auch eine Projektion), da die Winkel nur reelwertig sein können.

    Edit:
    Ich hab das ganze Problem grade nochmal durchgerechnet.
    Ich komme auf folgende Lösungen (Anfangsbedingung ):




    (Bilder anklicken, der Forumsupload hat die in der Vorschau verstümmelt)

    Unter der Annahme, das gilt , sprich das zweite Pendel nicht ausgelenkt ist, vereinfachen sich die Terme zu





    Bei beiden Gleichungen ist die Anfangsauslenkung des oberen Pendels in Radiant. Beachte hierbei, dass um die untere Gleichgewichtslage linearisiert wurde, d.h. das der Winkel nicht zu groß werden darf, da sonst die Ergebnisse nix mehr mit der Realität zu tun haben.

    Gruß Zakath

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Zakath“ ()

    Naja es ist die Lösung der DGL. Als solche ist die Funktion tatsächlich nur von der Start Auslenkung abhängig jap. Alles weitere ist in die Lösung der DGL eingeflossen.

    Solltest du weitere Fragen dazu haben, auch mathematischer Natur, dann stelle sie gern!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Zakath“ ()

    Pascalony schrieb:

    Soll das heißen, dass das zweite Pendel nur von der Amplitude des ersten Pendels abhängt, nicht aber von der momentanen Auslenkung?
    Was immer "2. Pendel abhängen" konkret bedeutet - kann eiglich nicht sein.
    Guck dir doch die Animation auf Wiki an (von dir selbst verlinkt in post#1) - das ist doch offsichtlich eine ziemlich chaotische Wechselbeziehung zwischen den beiden Pendels, odr?
    Doch genauso verhält es sich. Das (gesamte) Pendel kann in genau zwei "Betriebsmodi" betrieben werden:
    a) Einem mit geringer Auslenkung: In diesem Fall lässt sich die Bewegungsgleichung um den Betriebspunkt linearisieren und eine analytische Lösung der DGL formulieren (s.o.). Diese ist, wie bei Lösungen von DGLs vorgeschrieben, eben nicht mehr von der anderen Auslenkung abhängig, sondern hat diese sozusagen schon vorher bedacht. Die Lösung ist absolut korrekt und beschreibt die Bewegung des Pendels für kleine Winkel (bis ca. 10°) hinreichend genau.
    b) Einen mit belibig großer Auslenkung: Für diesen Fall lässt sich keine analytische Lösung mehr finden. Das Problem ist nur numerisch lösbar. Genau dieser Fall tritt in dem Video auf. Ein solches Verhalten kann man sehr wohl simulieren, aber eben nicht mehr analytisch bestimmen. Sollte Interesse bestehen, ich habe ein Matlab Skript, der genau das tut. Sollte auch mit Octave laufen (Matlab in OpenSource).

    Beide Verfahren sind in .NET implementierbar. a) deutlich leichter als b) weil für b) noch weiter gehendes Fachwissen in Mechanik benötigt wird, um die Gleichung so zu transformieren, dass eine Simulation funktioniert.

    Gruß

    Pascalony schrieb:

    nicht aber von der momentanen Auslenkung
    Nein.
    Die Position und Geschwindigkeit des 2. Pendels hängt von der Position und Geschwindigkeit des 1. Pendels ab, das sind gekoppelte Differentialgleichungen.
    Sieh Dir mal das Filmchen in Deinem eigenen WIKI-Post an.
    Das hat der @ErfinderDesRades auch schon geschrieben.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany

    Das Video habe ich schon gesehen und ich war mir auch sicher, dass es so ist, nur war ich verwirrt, weil bei den Lösungen davor eben keine Abhängigkeit existiert. Aber da das nur für kleine Winkel gilt, macht das natürlich Sinn. Aber heißt numerische Lösung nicht, dass ich es gar nicht simulieren kann?

    Pascalony schrieb:

    Aber heißt numerische Lösung nicht, dass ich es gar nicht simulieren kann?
    Doch, dieses Video stellt doch die Lösung über eine numerische Methode dar.
    Wie sowas geht gugst Du Runge Kutta Verfahren 4. Ordnung,
    da musst Du "nur" die Ableitungen eintragen und los.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany

    Okay dann werde ich mir das mal angucken. Davor noch eine andere Frage: bei einem der Bilder, die ich oben geschickt habe steht a = -b = ... Dort steht in dem Term ja die Ableitung von Phi drin. Also steht in dem Funktionterm von Phi die Ableitung von sich selbst drin. Ist das nicht ein unendlicher Kreislauf?

    Pascalony schrieb:

    Ist das nicht ein unendlicher Kreislauf?
    Nö.
    Das ist bei nichtlinearen Differentialgleichungen üblich, dass eine Funktion von ihrer eigenen Ableitung abhängt.
    Bei der Wellengleichung ist die zweite Ableitung nach der Zeit proportional zur zweiten Ableitung nach dem Ort.
    Diese DGLn zu lösen wurden halt numerische Methoden entwickelt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!