Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB "Linear Model" of a Pendulum via Euler's Method

  1. Nov 16, 2016 #1
    In my problem the linear modal is defined as the first term in the series expansion of [itex]\sin(x)[/itex] so:

    [tex] \sin(x) = x - \frac{x^{3}}{3!}+\dots [/tex]

    [itex]\sin(x) = x[/itex] is the linear modal.

    So with this, I then have to write [itex] \frac{d^{2}x}{dt^{2}} = -\sin(x) [/itex] as a system of [itex]x^{\prime}[/itex] and [itex]y^{\prime}[/itex], so:
    [tex] x^{\prime} = y [/tex]
    [tex] y^{\prime} = \sin(x) [/tex]

    I tried the linear modal in Euler's method, with initial conditions X(1) = 1 and V(1)=0 :

    Code (Text):
    for i = 1:1000
        V(i+1) = V(i)-(1.*s) ;
        X(i+1) = V(i);
    Where s is the step size. But apparently I'm supposed to get a circle when I plot V with respect to X which makes sense, but all I get is a straight line.

    If I change it to:

    Code (Text):
    for i = 1:1000
        V(i+1) = V(i)-(X(i).*s) ;
        X(i+1) = V(i);
    With s=0.8 I get a spiral, which looks like a development but I'm no closer to the circular shape that I am expecting. I think I just need a fresh pair of eyes to see where perhaps an obvious error lies.
  2. jcsd
  3. Nov 18, 2016 #2


    Staff: Mentor

    In your example the sin(x) = x approximation has the understanding that x is in radians and that its true for small angles <10 degrees or so.


    Is your x values exceeding that 10 degree in radians limit?

    Also I'd try to hand calculate things or better yet have the computer print out x(i) and v(i) so you can see where it goes wrong.


    I looked at your example, and it does produce a line by hand calculation the V goes 0.0 to -0.1 to -0.2 ... while the X values do the same but more abruptly 1, 0.0, -0.1, -0.2 ...

    To get a circle, wouldn't V have to be something like ##V(i+1) = sqrt(1.0 - x(i)*x(i))##
    and then it wouldn't work when x(i) > 10 degrees?
    Last edited: Nov 18, 2016
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted