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!

MatLab Question

  1. Apr 26, 2007 #1
    I am looking at Palm's "Introduction to MatLab 7 for Engineers" page 511. The problem involves solving a Second Order Diff Equation. The solution to the diff equation is straight forward. What I am wondering is what Plam is doing in the plot function?

    [tex] \ddot{\Theta} + \frac {g} {l} sin \Theta = 0 [/tex]

    His answer is below:

    in the m file pendul:

    function xdot = pendul(t,x)
    global g L
    xdot = [x(2); -(g/L)*sin(x(1))];

    in the m file example8_6_1

    global g L
    g = 9.81;
    L = 1;
    [ta, xa] = ode('pendul', [0,5], [0.5,0]);
    plot(ta,xa(:,1), xlabel('Time (s)'), ylabel('Angle(rad)')


    In the plot(ta,xa(:,1) what is the (:,1)? What is he doing? And why couldn't he just put an xa without the (:,1)?
  2. jcsd
  3. Apr 27, 2007 #2
    In this example X is a vector containing [x , xdot], so the solution xa is a matrix whose rows are [x(ta), xdot(ta)] where ta changes in each row. So xa looks like
    [x(t1) xdot(t1)
    x(t2) xdot(t2)
    x(t3) xdot(t3) ]
    and so on. He wants to plot the angle x versus time, so you select the first column of the solution matrix xa. This is done by xa(:,1), where the colon : indicates that you want all of the rows, and the 1 indicates you want the first column. If you wanted to plot the angular velocity versus time you would write plot(ta,xa(:,2)). Does that make sense?
  4. Apr 27, 2007 #3
    Thank you very much. It makes perfect sense. I will learn matlab yet!
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?

Similar Discussions: MatLab Question
  1. MATLAB questions (Replies: 0)

  2. MATLAB question (Replies: 2)

  3. MATLAB question (Replies: 1)

  4. Matlab question (Replies: 2)

  5. Matlab question (Replies: 10)