- •Предисловие
- •Глава 1. Дифференциальные уравнения в частных производных, их классификация и методы решения. Задача Коши
- •Дифференциальные уравнения в частных производных
- •Дифференциальные уравнения в частных производных второго порядка
- •Понятие об общем решении уравнения в частных производных
- •Начальные и граничные условия
- •Задача Коши для дифференциальных уравнений первого порядка
- •Задача Коши для дифференциальных уравнений второго порядка
- •Классификация уравнений второго порядка в частных производных
- •Численные методы решения дифференциальных уравнений в частных производных
- •Использование метода сеток для решения параболических уравнений в частных производных
- •Использование метода сеток для решения гиперболических уравнений
- •Использование метода сеток для решения эллиптических уравнений
- •Глава 2. Уравнение колебания струны
- •Вывод уравнения колебания струны
- •Методы решения уравнения колебания струны
- •Метод Даламбера (метод бегущих волн) для бесконечной струны
- •Фазовая плоскость
- •Метод продолжений для полубесконечной струны
- •Метод продолжения для конечной струны (начальная и конечная точки жёстко закреплены)
- •Метод Фурье (метод стоячих волн) или метод разделения переменных
- •Упражнения
- •Глава 3. Решение уравнений теплопроводности и Лапласа методом Фурье
- •Вывод уравнения теплопроводности
- •Метод Фурье для конечного стержня
- •Упражнения.
- •Уравнение Лапласа
- •Задача Дирихле для уравнения Лапласа в круге
- •Задача Дирихле для уравнения Лапласа в кольце
- •Уравнение Лапласа в прямоугольнике
- •Приложения
- •Практикум в среде matlab
- •Лабораторная работа № 1
- •Задача Коши для систем обыкновенных дифференциальных уравнений
- •1. Метод Эйлера.
- •2. Решение уравнений p-го порядка и систем обыкновенных дифференциальных уравнений.
- •3. Методы Рунге–Кутты.
- •4. Решение задачи Коши с помощью встроенных функций matlab.
- •Задания для выполнения лабораторной работы
- •Лабораторная работа № 2 Волновые уравнения
- •1. Задача Коши для неограниченной струны.
- •2. Задача Коши для полуограниченной струны. Метод продолжений.
- •3. Создание анимации средствами matlab.
- •4. Фазовая плоскость. Бегущие волны.
- •Индивидуальные задания
- •Рекомендуемая литература
- •Оглавление
2. Задача Коши для полуограниченной струны. Метод продолжений.
Теперь рассмотрим полуограниченную струну, закрепленную на одном конце.
Существуют два основных способа закрепления струны: жесткое и свободное закрепление.
В
случае жесткого закрепления на конце
струны ставят дополнительное условие
.
В результате рассматривают задачу
Дирихле вида:
Для решения данной задачи используют метод продолжений, заключающийся в том, что функции и продолжают в отрицательную область нечетным образом. В итоге получаем модифицированную формулу Даламбера:
Теперь рассмотрим так называемое свободное закрепление. В этом случае дополнительное условие на границе ставится таким образом, чтобы конец струны оставался всегда параллелен оси x. Таким образом, приходим к задаче Неймана для струны:
Для решения данной задачи используют метод продолжений, заключающийся в том, что функции φ(x) и ψ(x) продолжают в отрицательную область четным образом. В итоге получаем модифицированную формулу Даламбера:
Упражнение 2. В области 0≤x<+∞, 0≤t<+∞ найти решение уравнения колебания струны (a = 2, l = 2), удовлетворяющее условиям
Построить
графики решения для моментов времени
,
,
.
Рассмотреть два случая: жесткое закрепление струны ( ) и свободное закрепление струны (u'x(0,t) = 0). Интервал отображения по оси x выбрать равным [0, 2l].
3. Создание анимации средствами 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, построить анимированный график зависимости колебаний струны от времени. Конечное время и шаг по времени выбрать таким образом, чтобы отсутствовали резкие скачки решения между кадрами и наблюдалось полное затухание колебаний в конечный момент времени.
