How to make an animated stairstep graph?

4 Ansichten (letzte 30 Tage)
Tai Jia Xun
Tai Jia Xun am 14 Jun. 2018
Kommentiert: Tai Jia Xun am 16 Jun. 2018
I have a stairstep graph (squarewave) plotted from an array, is it possible to make the graph plot in motion?
%%my code: x=[0:1:10]; a=[0 1 0 1 0 1 0 0 1 1 0]; stairs(x,a)

Akzeptierte Antwort

jonas
jonas am 14 Jun. 2018
Bearbeitet: jonas am 14 Jun. 2018
You can use the comet() function if you manipulate the data a bit.
x=[0:1:10];
a=[0 1 0 1 0 1 0 0 1 1 0];
xq=0:0.01:10;
aq = interp1(x,a,xq,'previous');
comet(xq,aq)
There is also a similar function called animatedline() which I have never tested. Or as a third, perhaps simplest solution, plot point-by-point in a for-loop using pause(t) in every loop.
  3 Kommentare
jonas
jonas am 15 Jun. 2018
It does not appear to be possible. Option two works fine though:
x=[0:1:10];
a=[0 1 0 1 0 1 0 0 1 1 0];
%Increase resolution (step size determines speed of animation)
xq=0:0.0001:10;
aq = interp1(x,a,xq,'previous');
figure;
h=animatedline
%Change properties
set(h,'color','r','linewidth',2)
axis([0 10 0 1])
for k = 1:length(aq)
addpoints(h,xq(k),aq(k))
drawnow update
end
Tai Jia Xun
Tai Jia Xun am 16 Jun. 2018
Thank you very much Jonas!!!!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Animation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by