• Support PF! Buy your school textbooks, materials and every day products via PF Here!

Matlab Plots

  • Thread starter FlvD
  • Start date
4
0
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
 
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:
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:
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.
 

uart

Science Advisor
2,776
9
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:
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)
 

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top