Если вы хотите, чтобы график «увеличивался» по точкам: самый простой способ - создать пустой сюжет, а затем обновить его свойства XData
и YData
на каждой итерации:
h = plot(NaN,NaN); %// initiallize plot. Get a handle to graphic object
axis([min(DATASET1) max(DATASET1) min(DATASET2) max(DATASET2)]); %// freeze axes
%// to their final size, to prevent Matlab from rescaling them dynamically
for ii = 1:length(DATASET1)
pause(0.01)
set(h, 'XData', DATASET1(1:ii), 'YData', DATASET2(1:ii));
drawnow %// you can probably remove this line, as pause already calls drawnow
end
Вот пример1, полученный с помощью DATASET1 = 1:100; DATASET2 = sin((1:100)/6);
[/g1]
1 Если кто-то заинтересован, фигура - это анимированный gif, который может создайте, добавив следующий код (взятый из здесь ) в цикле после строки drawnow
:
frame = getframe(1);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
if ii == 1;
imwrite(imind,cm,filename,'gif','Loopcount',inf);
else
imwrite(imind,cm,filename,'gif','WriteMode','append');
end