Многошаговые методы решения дифференциальных уравнений

контрольная работа

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 - Результаты решения уравнения методом Адамса (символ «о») и аналитическое решение уравнения (пунктирная линия)

Делись добром ;)