Plot in real time

1 view (last 30 days)
Jerry
Jerry on 2 Dec 2013
Commented: sixwwwwww on 3 Dec 2013
i have a code that i wrote to perform an output of simple harmonic function. and when i plot the result in realtime (as is it going through the for loop) rather than plotting y versus time, it is plotting two point (1,time) and (2,y) and draws a line in between.
any help is appreciated as i am new at using matlab
clf;
A=3.3;
W=6.28;
time=0;
p=0;
for t = (0:0.01:2)
y=A*sin(W*t);
time = time +0.01;
p=[time,y];
graph=plot(p);
drawnow;
p
pause(0.1)
end

Answers (1)

sixwwwwww
sixwwwwww on 2 Dec 2013
Edited: sixwwwwww on 2 Dec 2013
Dear Jerry try this:
A = 3.3;
W = 6.28;
for t = 0:0.01:2
y = A * sin(W * t);
plot(t, y, 'g*'), hold on
drawnow;
pause(0.1)
end
I hope it helps. Good luck!
  3 Comments
Jerry
Jerry on 3 Dec 2013
how do make to be a line between the points?
sixwwwwww
sixwwwwww on 3 Dec 2013
the 'hold on' command holds the current plot and then plots new data on the same graph without overwriting it. Secondly, in ur original you were plotting data wrongly

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!