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

Ode45 for solution of 4 d.o.f. problem

Tags:
  1. Jan 30, 2015 #1
    Hi Folks,

    I have made up this code in an attempt to find the response time a 4 dof problem. However, I do not get an oscillatory response as I expect, instead I get a straight line which drops off towards the end. Not sure what is happening..any ideas..?

    function f = Simple_Planetary(t,y)
    f = zeros(8, 1);
    f(1) = y(2);
    f(2) = -y(7)+2*y(1);
    f(3) = y(4);
    f(4) = -y(7)+2*y(3);
    f(5) = y(6);
    f(6) = -y(7)+2*y(5);
    f(7) = y(8);
    f(8) = 3*y(7)-y(1)-y(2)-y(3)+10*cos(t);

    y0 = [1;1;1;1;1;1;1;1];
    [t,y] = ode45('Simple_Planetary', tspan, y0);
    subplot (211)
    plot (t,y (: , 1));
    xlabel ('t');
    ylabel ('x1 (t)');
    subplot (212)

    plot (t,y (: , 3));
    xlabel ('t');
    ylabel ('x2 (t)');

    Regards
     
  2. jcsd
  3. Jan 31, 2015 #2

    jedishrfu

    Staff: Mentor

    Two things that may help are enclosing your source code in code tags. This will eliminate the smiley faces.

    The second is it seems this is not the whole program as I can't see what span is defined as.

    Lastly, what does d.o.f mean?
     
  4. Feb 2, 2015 #3
    Hi, sorry I forgot a line for the span. That is all the code.....
    4 dof is a 4 degree of freedom system, ie for independent variables that we are solving for


    Code (Text):
    tspan = [0: 0.01: 20];
    y0 = [1;1;1;1;1;1;1;1];
    [t,y] = ode45('Simple_Planetary', tspan, y0);
    subplot (211)
    plot (t,y (:, 1));
    xlabel ('t');
    ylabel ('x1 (t)');
    subplot (212)

    plot (t,y (:, 3));
    xlabel ('t');
    ylabel ('x2 (t)');
     
    Code (Text):
    function f = Simple_Planetary(t,y)
    f = zeros(8, 1);
    f(1) = y(2);
    f(2) = -y(7)+2*y(1);
    f(3) = y(4);
    f(4) = -y(7)+2*y(3);
    f(5) = y(6);
    f(6) = -y(7)+2*y(5);
    f(7) = y(8);
    f(8) = 3*y(7)-y(1)-y(2)-y(3)+10*cos(t);
     
  5. Feb 5, 2015 #4

    DrClaude

    User Avatar

    Staff: Mentor

    Could you write down the system of equations you are solving?
     
  6. Feb 23, 2015 #5
    Hi

    Sorry for the delay. It turns out the my K matrix was incorrect from which I derived the system of equations and hence the reason for the large numbers because my matrix was nearly singular etc.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Ode45 for solution of 4 d.o.f. problem
  1. Ode45 help in MATLAB (Replies: 0)

Loading...