81
y=cos(k*x-w*t(1))+cos(x-t(1));
% Вычисление границ рисунка
axlim = [min(x) max(x) min(y) max(y)];
figure
% Сохранение дескриптора выводимого объекта
lh = line(x,y);
% Задание цвета кривой и выбор границ
set(lh,'color','r');
axis(axlim);
% Выбор режима стирания
set(lh,'erasemode','xor');
% Начало цикла анимации
for i = 2:n
% Пересчет координат кривой
y=cos(k*x-w*t(i))+cos(x-t(i));
% Обновление координат линии, изображающей амплитуду
% волны с помощью обновления у объекта (линии)
% с дескриптором lhсвойства ’XData’ (замена
% x-координат на новые значения) и аналогичные
% действия с y-координатами. Это стандартный
% способ обновления координат точек для анимации.
% Самый главный момент - замена координат
set(lh,'XData',x,'YData',y);
drawnow;
end
Аналогичным образом можно создавать любые движущиеся графики.