В этом примере показано, как создать анимацию двух растущих линий. animatedline
функция помогает вам оптимизировать линейные анимации. Это позволяет вам добавлять новые точки в линию, не переопределяя существующие точки.
Создайте две анимированных линии различных цветов. Затем добавьте точки в линии в цикле. Установите пределы по осям перед циклом так, чтобы не повторно вычислять пределы каждый раз через цикл. Используйте drawnow
или drawnow limitrate
команда, чтобы отобразить обновления на экране после добавления новых точек.
a1 = animatedline('Color',[0 .7 .7]); a2 = animatedline('Color',[0 .5 .5]); axis([0 20 -1 1]) x = linspace(0,20,10000); for k = 1:length(x); % first line xk = x(k); ysin = sin(xk); addpoints(a1,xk,ysin); % second line ycos = cos(xk); addpoints(a2,xk,ycos); % update screen drawnow limitrate end
Анимация показывает две линии, которые растут, когда они накапливают данные.
Запросите точки первой анимированной линии.
[x,y] = getpoints(a1);
x
и y
векторы, которые содержат значения, задающие точки синусоиды.
addpoints
| animatedline
| clearpoints
| drawnow
| getpoints