Bestand:Double pendulum predicting dynamics.gif

Uit Wikikids
Naar navigatie springen Naar zoeken springen

Double_pendulum_predicting_dynamics.gif(360 × 360 pixels, bestandsgrootte: 1,84 MB, MIME-type: image/gif, herhalend, 334 frames, 33 s)

Let op: vanwege technische beperkingen, kunnen miniaturen van GIF-afbeeldingen met een hoge resolutie niet geanimeerd worden weergegeven.

Dit bestand is afkomstig van Wikimedia Commons en kan ook in andere projecten gebruikt worden. De bestandsbeschrijvingspagina wordt hieronder weergegeven.

Beschrijving

Beschrijving
English: In a chaotic system, like a double pendulum, small changes in the initial conditions become large changes in the long-term evolution of the system, but on the short/medium term, how well we can predict the dynamics is not constant. Sometimes small perturbations will not change much, sometimes small perturbation make even short-term predictions impossible. At each frame the position of the second mass is perturbed slightly, and the grey lines show the predicted dynamics for all the perturbed conditions.
Datum
Bron https://twitter.com/j_bertolotti/status/1411987574109913092
Auteur Jacopo Bertolotti
Toestemming
(Hergebruik van dit bestand)
https://twitter.com/j_bertolotti/status/1030470604418428929

Mathematica 12.0 code

p1[t_] := {l Sin[\[Theta][t]], -l Cos[\[Theta][t]]};
p2[t_] := p1[t] + {l Sin[\[Phi][t]], -l Cos[\[Phi][t]]};
T[t_] := FullSimplify[1/2 m Norm[D[p1[t], t]]^2 + 1/2 m Norm[D[p2[t], t]]^2, Assumptions -> {m > 0, l > 0, \[Theta][t] > 0, \[Theta]'[t] > 0, \[Phi]'[t] > 0, \[Phi][t] > 0}];
V[t_] := FullSimplify[m g p1[t][[2]] + m g p2[t][[2]], Assumptions -> {m > 0 , l > 0}];
L[t_] := T[t] - V[t];
e1[t_] := FullSimplify[D[D[L[t], \[Theta]'[t]], t] - D[L[t], \[Theta][t]]];
e2[t_] := FullSimplify[D[D[L[t], \[Phi]'[t]], t] - D[L[t], \[Phi][t]]];
(**)
tmax = 1000; m1 = 1; m2 = 1; g = 1; l = 1;
s1 = NDSolve[{e1[t] == 0, e2[t] == 0, \[Theta][0] == \[Pi], \[Phi][0] == \[Pi]/2, \[Theta]'[0] == 0, \[Phi]'[0] == 0}, {\[Theta], \[Phi]}, {t, 0, tmax}, MaxSteps -> Infinity]
frames = Table[
   prediction = Table[NDSolve[{e1[t1] == 0, e2[t1] == 0, \[Theta][0] == Evaluate[(\[Theta][t] /. s1)][[1]], \[Phi][0] == Evaluate[(\[Phi][t] /. s1)][[1]] + \[Delta], \[Theta]'[0] == Evaluate[(\[Theta]'[t] /. s1)][[1]], \[Phi]'[0] == Evaluate[(\[Phi]'[t] /. s1)][[1]]}, {\[Theta], \[Phi]}, {t1, 0, 10}, MaxSteps -> Infinity]
     , {\[Delta], -0.002, 0.002, 0.00025}];
Show[
    ParametricPlot[p2[t] /. prediction, {t, 0, 10}, PlotStyle -> Directive[Gray, Opacity[0.1]] , Axes -> False]
    ,
    Graphics[{
      Black, Thickness[0.01], Line[{{0, 0}, (p1[t] /. s1)[[1]], (p2[t] /. s1)[[1]]}], Orange, Disk[(p1[t] /. s1)[[1]], 0.15], Disk[(p2[t] /. s1)[[1]], 0.15], Black, Thick, Circle[(p1[t] /. s1)[[1]], 0.15], 
      Circle[(p2[t] /. s1)[[1]], 0.15]
      ,
      Black, Disk[{0, 0}, 0.1]
      }, PlotRange -> {{-3, 3}, {-3, 3}}], PlotRange -> {{-3, 3}, {-3, 3}}]
   , {t, 0, 100, 0.3}];
ListAnimate[frames, 10]

Licentie

Ik, de auteursrechthebbende van dit werk, maak het hierbij onder de volgende licentie beschikbaar:
Creative Commons CC-Zero Dit bestand is beschikbaar onder Creative Commons CC0 1.0 Universele toewijding aan het publieke domein.
De persoon die een werk voorziet van deze licentie stelt dit werk beschikbaar aan het publieke domein door, voor zover dit wettelijk is toegestaan, afstand te doen van alle rechten op het werk in de zin van het auteursrecht, met inbegrip van alle aanverwante of naburige rechten. U kunt het werk kopiëren, aanpassen, distribueren en uitvoeren, ook voor commerciële doeleinden, zonder dat u daarvoor toestemming hoeft te vragen.

Bijschriften

Beschrijf in één regel wat dit bestand voorstelt
Sometimes small perturbations will not change much in the evolution of a chaotic double pendulum, sometimes small perturbation make even short-term predictions impossible.

Items getoond in dit bestand

beeldt af

image/gif

Bestandsgeschiedenis

Klik op een datum/tijd om het bestand te zien zoals het destijds was.

Datum/tijdMiniatuurAfmetingenGebruikerOpmerking
huidige versie6 jul 2021 09:55Miniatuurafbeelding voor de versie van 6 jul 2021 09:55360 × 360 (1,84 MB)BertoUploaded own work with UploadWizard

Dit bestand wordt op de volgende pagina gebruikt:

Metadata

Afkomstig van Wikikids , de interactieve Nederlandstalige Internet-encyclopedie voor en door kinderen. "https://wikikids.nl/Bestand:Double_pendulum_predicting_dynamics.gif"