Plot in real time
이전 댓글 표시
I want to take a 2-dimensional vector and plot it, but I want to show the line being drawn as if the data is being gathered in real time. However, I'll have the data already stored in an array.
For example, if I wanted to plot y = sin(x) from x = 1 to 25, then I would use the following command:
plot(sin(1:0.01:25));
But I want to see the curve being drawn as if it's being done in real-time. How would I do this?
채택된 답변
추가 답변 (1개)
Anshul Rathore
2019년 3월 25일
Don't use hold on instead use drawnow function to update your plots as it is much faster.
x = 1:0.01:25;
y = sin(x);
n = numel(x);
figure;
for i = 1:n
plot(x(1:i),y(1:i),'-r');
xlim([0 25]);
ylim([-1.1 1.1]);
drawnow;
end
댓글 수: 2
Jonathan Arias
2021년 5월 22일
you have to add this line (before drawnow):
addpoints(an,x(i),y(i));
More examples: https://la.mathworks.com/help/matlab/ref/drawnow.html
카테고리
도움말 센터 및 File Exchange에서 Half-Normal Distribution에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!