1. Limited time only! Sign up for a free 30min personal 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 Plots

  1. Jul 13, 2011 #1
    1. The problem statement, all variables and given/known data
    Hello all, I'm new to PF..Pls help..
    I'm stuck in the following query.

    I've matlab commands as follows:

    Hv=[1,2,3,4,5]
    for i=1:5
    tspan=[1 30]
    h0=Hv(i)
    [t,h]=ode45[expression]
    plot(t,h)
    end

    And here i need to see induvidual plots of my 5 results..I donno to save and then plot. Pls help.



    2. Relevant equations



    3. The attempt at a solution
     
  2. jcsd
  3. Jul 13, 2011 #2
    Hello.

    First of all, when putting code in the posts, there's a nifty little command of ['code']insertcodehere[/'code'] that you can use that really tidies things up (without the apostrophes of course). So it'd look like this:

    Code (Text):

    Hv=[1,2,3,4,5]
    for i=1:5
    tspan=[1 30]
    h0=Hv(i)
    [t,h]=ode45[expression]
    plot(t,h)
    end
     
    Okay, so I'm not exactly sure what you're asking... but first of all, are you getting any errors? What is your output right now? It's difficult to help without knowing the expression you're putting into the ode solver.

    However, if this helps there are some commands that could help you "save and plot results." One is the subplot command. Look into using your iteration variable (i) to move to the next subplot. Or you could simply have the figure number be dependent on i as well.

    So something like:

    Code (Text):

    figure(1)
    Hv=[1,2,3,4,5]
    for i=1:5
    tspan=[1 30]
    h0=Hv(i)
    [t,h]=ode45[expression]

    subplot(5,1,i)
    plot(t,h)
    end
     
    Like I said, let me know if I'm not addressing your question, as I'm a bit unsure as to what you're asking.
     
  4. Jul 13, 2011 #3

    uart

    User Avatar
    Science Advisor

    Hi Flvd, you need to put all of your "h" vector solutions into a single matrix if you want a single plot command to plot them all simultaneously. The ":" syntax is really useful here. For example, if h is a row vector then "y(k,:) = h" sets "h" as the whole k-th row of the y matrix.

    So you need something like this :

    Code (Text):

    Hv=[1,2,3,4,5]
    tspan=[1 30]               % No need to put this in the loop

    for k=1:5                  % Best to leave "i" as pre-defined constant = sqrt(-1)
      h0 = Hv(k)
      [t,h] = ode45[expression] % Presumably "expression" includes the function an init conditions
      y(k,:)=h
    end                         % You need to end the for loop here

    plot(t,y)
     
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Matlab Plots
  1. Matlab Plot (Replies: 1)

  2. Matlab plot (Replies: 10)

  3. Plot in matlab (Replies: 1)

  4. Matlab, plot (Replies: 5)

  5. Matlab plots (Replies: 1)

Loading...