Многошаговые методы решения дифференциальных уравнений
2. Практическое задание
Методом Адамса четвертого порядка точности на отрезке [0;1] с шагом h = 0,1 решить задачу Коши для обыкновенного дифференциального уравнения первого порядка y = x+y, y(0)=1.
Решение:
1. Найдем точное решение дифференциального уравнения для проверки решения методом Адамса. Сделаем замену переменной:
,
тогда
(*).
Приравняем к нулю выражение в скобках:
(постоянную интегрирования здесь можно опустить).
Подставляем полученное решение в уравнение (*):
Для нахождения интеграла применяем формулу интегрирования по частям:
.
В результате и
.
Для определения постоянной интегрирования используем начальное условие:
, откуда С = 2.
В результате частное решение дифференциального уравнения можно записать в виде:
.
2. Для решения уравнения методом Адамса 4-го порядка используем следующую интерполяционную формулу:
yi+1 = yi + h (55yi - 59yi-1 + 37yi-2 - 9yi-3)/24.
Так как экстраполяционный метод Адамса 4-го порядка является многошаговым методом, то для формирования вектора начальных значений искомой функции (это первые 4 значения), будем использовать метод Рунге-Кутта. Для метода Рунге-Кутта интерполяционная формула имеет вид:
,
где
,
,
,
.
Для автоматизации вычислений используем математический пакет Mathcad 13.
Задаем начальные условия: , а далее по формулам вычисляем значения y. Листинг программы для определения первых значений функции методом Рунге-Кутта приведен в приложении 1.
В результате получаем вектор значений:
, .
После этого запрограммируем метод Адамса в виде отдельной функции. Будем рассматривать промежуток от 0 до 1 (т. е. 10 значений с шагом 0.1). Листинг программы для решения уравнения методом Адамса приведен в приложении 2.
На рисунке 1 показан график решения и точное решение уравнения на данном участке. Из графика видно, что результаты численного решения соответствуют результату аналитического решения.
Рисунок 1 - Результаты решения уравнения методом Адамса (символ «о») и аналитическое решение уравнения (пунктирная линия)