MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Non-Linear pendulum



Allamarein wrote:

> I'm getting to know Mathematica. I want to compile a code to see the

> non-linear pendulum behavior.

> 

> pendulum= {Line[{{0, 0}, {0, -1}}], Circle[{0, -1.3}, 0.3]};

> l = 20;

> g = 9.81;

> s = NDSolve[

>    { \[Theta]''[t] == -g /l Sin[\[Theta][t]],

>     \[Theta][0] == Pi/2,

>     \[Theta]'[0] == 0}, \[Theta],

>    {t, 0, 30}];

> Animate[

>  Graphics[Rotate[pendulum, \[Theta[]t], {0, 0}],

>   PlotRange -> {{-2, 2}, {0, -2}}],

>  {t, 0, 30}, AnimationRunning -> False]

> 

> This code doesn't work. I realized my error is in Rotate argument. If

> I change this line with:

> 

> Graphics[Rotate[pendulum, Sin[t], {0, 0}]

> 

> code runs, but it's not the result (obviously).

> How can I correct my code, to see the pendulum oscillates with \[Theta]

> [t] law?

> 

Hi Allamarein,

you have to treat the output of NDSolve correctly:



s = \[Theta] /.

    NDSolve[{\[Theta]''[t] == -g/l Sin[\[Theta][t]], \[Theta][0] ==

        Pi/2, \[Theta]'[0] == 0}, \[Theta], {t, 0, 30}][[1]];

Animate[Graphics[Rotate[pendulum, s[t], {0, 0}],

   PlotRange -> {{-2, 2}, {0.5, -2}}], {t, 0, 30},

  AnimationRunning -> True]



Daniel




  • Prev by Date: Re: Displaying results in a column
  • Next by Date: Re: Using For[] for Generating Multiple Output Cells
  • Previous by thread: Re: Non-Linear pendulum
  • Next by thread: Re: Non-Linear pendulum