Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Создание анимации средствами MATLAB



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

Но очень часто возникает ситуация, когда моментов времени, которые нас интересуют, достаточно много. В этом случае приходится строить большое количество графиков, анализ которых становится слишком трудоемким.

MATLAB позволяет ускорить данный анализ с помощью средств анимации графики.

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

Созданная последовательность кадров сохраняется в массив с помощью специальной команды getframe. Вызов данной функции осуществляется для каждого кадра (графика). Можно поместить рисование кадров в цикл с перерисовкой одного графического окна в каждом цикле. При этом команда getframe должна даваться на каждой итерации цикла.

Сохраненная последовательность кадров может быть проиграна с помощью команды movie. Первым параметром данной команды является массив сохраненных кадров, вторым необязательным параметром число повторений последовательности при проигрывании.

Существует возможность сохранить записанную анимацию в файл с помощью команды movie2avi.

Пример П.3. Задано уравнение функции от координаты x и от времени t: . Отобразить данную функцию для моментов времени от 0 до 100 с шагом 1. Сохранить последовательность графиков в виде анимации. Дополнительно на графике отобразить асимптоты графика и .

Решение этой задачи описывает программа:

x=-4*pi:pi/20:4*pi;

for t=0:100

y=x.*cos(x+pi*t/10.0);

plot(x,y,'b-');

hold all;

plot(x,x,'r-');

plot(x,-x,'r-');

xlim([-4*pi 4*pi]);

ylim([-4*pi 4*pi]);

grid on;

xlabel('x');

ylabel('y');

M(t+1)=getframe;

hold off;

end

movie(M, 20) % повторяем 20 раз

Упражнение 3. Для задач, рассмотренных в упражнении 2, построить анимированный график зависимости колебаний струны от времени. Конечное время и шаг по времени выбрать таким образом, чтобы отсутствовали резкие скачки решения между кадрами и наблюдалось полное затухание колебаний в конечный момент времени.





Дата публикования: 2015-10-09; Прочитано: 4421 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...