1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matlap help

  1. Mar 14, 2004 #1
    Please refer to jpeg extension

    I think that the following MatLab code will solve the first D.E,

    >> function xdot = nlseq(t,x); % Returns the state derivative
    >> R = [2 -1; 3 5];
    >> L = [1 – cos(0.5*t) 5*sin(4*t); 20*sin(2*t) 3–cos(0.8*t)];
    >> V = [15*sin(t); 25*cos(t)];
    >> xdot = inv(L)*(V – R*X);

    >> tspan = [0, 10]; % Time interval
    >> x0 = [0;0]; % Initial condition
    >> [t, x] = ode23(‘nlseq’,tspan,x0);


    I would like to know how to incorporate the second D.E into the above code so that I can solve for both (I realize I need to make another xdot command, but I’m not sure how to do it).
    Another problem that I have is that I want to plot y vs w, where w is the solutions from the second D.E and y is shown on the jpeg extension,

    So basically I want to take my solution (at every interval) from solving the first D.E. and transform it through the matrix shown on the extension. I would think that I need to write some kind of loop, but I’m not sure how to do it.

    Any help with the above problems would be greatly appreciated
     

    Attached Files:

  2. jcsd
  3. Mar 15, 2004 #2

    enigma

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    To do it all in one shebang, do the following:

    Have the state vector be: [x1,x2,w]. For clarity, I'll call it q, with the derivative being dq

    In your lnseq file, have dq(1:2) be your x1' and x2', and have dq(3) be w'

    If you specify specific times instead of a time range ( [0:.1:10] instead of [0,10]) this will return the values of x1, x2, and w at those times.

    In your main function, you can then do the matrix manipulation for each time to get the graph of y1 and y2, since w will be returned for the same times as x1 and x2.
     
  4. Mar 15, 2004 #3

    enigma

    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    Alternately, you could set the function definition as:

    lnseq(t,x,flag,value1,value2,...)

    and have the ode23 call read:

    ode23('lnseq',t,w,[],variable1,variable2,...)

    The empty bracket is used for precision options of ode23. The trailing variables are other parameters you want available in the function definition.

    I think the first way will be better, though...
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?



Similar Discussions: Matlap help
  1. Ping help (Replies: 4)

  2. DDR help (Replies: 7)

  3. RAM Help (Replies: 2)

  4. CPU help (Replies: 12)

  5. WavePad help (Replies: 2)

Loading...