Plot in real time
2 ビュー (過去 30 日間)
古いコメントを表示
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
0 件のコメント
回答 (1 件)
sixwwwwww
2013 年 12 月 2 日
編集済み: sixwwwwww
2013 年 12 月 2 日
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 件のコメント
sixwwwwww
2013 年 12 月 3 日
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
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!