logo search
для вялички / TROPA V MATLAB_21

5.4.3 Анимация

В ряде случаев полезно наблюдать за тем, как строится график функции y с аргументом x по мере вычисления ее значений. При этом мы можем следить за динамикой некоторого процесса (т. е. за его развитием), а не наблюдать статичную итоговую картинку, как было ранее. С этой целью используется команда comet(x,y), который позволяет получить анимированный график, где кружок, обозначающий точку, перемещается, оставляя за собой след в виде линии (траектории движения). График похож на летящую комету со светящимся хвостом. Скоростью движения кружка можно управлять, манипулируя шагом изменения аргумента. Длину хвоста можно задать в виде дополнительного параметра S. В этом случае команда comet(…) имеет вид comet(x,y,S), где S определяет длину хвоста. По умолчанию значение S принимается равным 0,1.

Пример 22. С использованием команды comet(x,y) построить траекторию движения фиксированной точки на окружности, катящейся по прямой (график циклоиды). Циклоида задается в виде параметрической функции, определяемой исходными уравнениями x(t) = t - sin(t), y(t) = 1 - cos(t). Аргумент t изменяется на интервале [0;10π] с шагом 0,001.

Вариант 1 Вариант 2

t=[0:0.001:10*pi]; t=[0:0.001:10*pi];

x=t-sin(t); comet(t-sin(t),1-cos(t))

y=1-cos(t);

comet(x,y)

Мы не приводим графика циклоиды потому, что система MATLAB устроена так, что анимированный график нельзя сохранить в буфере обмена и восстановить его после завершения работы программы. При изменении размеров анимированного графика, при его повороте, увеличении или уменьшении, его запоминании с последующим восстановлением или других действиях с графиком траектория движения точки пропадает.

Отметим, что использовать анимацию можно не только в 2D графике но и при построении графических зависимостей функции двух переменных. Для этого следует использовать команду comet3(x,y,z), где x, y являются аргументами функции z. Команду comet3(…) можно применять и с четвертым числовым параметром, который, как и в команде comet(…), определяет длину хвоста кометы.