Asked by Fabian Höfler
on 9 Feb 2012

Hi I have to plot the speed of a Basejumper in dependence of the time. For this I'm using a while loop with the plot command underneath. That's my code:

while s>0% a=g+k/m*v.^2; deltav=a*deltat; v=v+deltav deltas=v*deltat; s=s+deltas; t=t+deltat; end plot(t,v) hold on

sprintf('Der Flug dauerte %5.3f Sekunden',t) sprintf('Die Geschwindigkeit beim Aufschlag betrug %5.3f m/s',v)

Unfortunately Matlab shows only one point in the diagram not the whole graph. Does anybody knows what I did wrong?

Thanks Fabian

Answer by Sean de Wolski
on 9 Feb 2012

You overwrite t,v on each iteration of the for-loop. Instead you need to either plot them then or store them to plot later.

count = 0; while ... count = count+1; v(count) = v(count-1)+deltav; end

or plot as you're going;

hold on while ... %stuff plot(t,v) end

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments