� Doppelpendel-Animation
(Unter Mithilfe von Alexander Perl)
� Parameter und Differentialgleichungen
g = 9.81; H*Erdbeschleunigung*Ll1 = 1; l2 = 1; H*Längen der beiden Stangen*Lm1 = 1; m2 = 1; H*Massen der beiden Pendelkörper*Ldg1 = IHm1 + m2L l1 j1
¢¢ + m2 l2 j2¢¢ Cos@j1 - j2D + m2 l2 j2
¢2 Sin@j1 - j2D + g Hm1 + m2L Sin@j1D � 0M;
dg2 = Im2 l2 j2¢¢ + m2 l1 j1
¢¢ Cos@j1 - j2D - m2 l1 j1¢2 Sin@j1 - j2D + g m2 Sin@j2D � 0M;
� Anfangsbedingungen und zu untersuchende Zeitspanne (jeweils eine Zelle aktivieren!)
abs = :j1@0D �Π
2, j1
¢@0D � 0, j2@0D � 0, j2¢@0D � 0>;
tmax = 10;
abs = :j1@0D �4 Π
5, j1
¢@0D � 0, j2@0D � 0, j2¢@0D � 0>;
tmax = 20;
abs = 8j1@0D � Π, j1¢@0D � 0, j2@0D � 0, j2
¢@0D � 0<;
tmax = 25;
� Animation der Lösung
dgs = 8dg1, dg2< �.Hð ® ð@tD &L �� FlattenAArrayAjð1Hð2-1L &, 82, 3<EE;
sol = Through@H8j1, j2< �.Flatten@NDSolve@8dgs, abs<, 8j1, j2<, 8t, 0, tmax<DDL@tDD;
Plot@sol, 8t, 0, tmax<, AxesLabel ® 8t, ji@tD<Dp1@t_D = 8l1 Sin@solP1TD, -l1 Cos@solP1TD<;
p2@t_D = 8l1 Sin@solP1TD + l2 Sin@solP2TD, -l1 Cos@solP1TD - l2 Cos@solP2TD<;
dmax = l1 + l2 + 0.2 m2 ;
H*maximale Pendellänge + Toleranz für PlotRange der Animation*LAnimateBShowBGraphicsB:PointSizeB0.02 m1 F, Point@p1@tDD,
Line@880, 0<, p1@tD, p2@tD<D, Red, PointSizeB0.02 m2 F, Point@p2@tDD>F,
PlotRange ®-dmax dmax
-dmax dmaxF, 8t, 0, tmax<, DefaultDuration ® tmaxF
2 4 6 8 10t
-2
-1
1
2
jiHt L
t
2 Doppelpendel_upd.nb