Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_вычмат.doc
Скачиваний:
21
Добавлен:
06.11.2018
Размер:
1.94 Mб
Скачать

Лабораторная работа № 21 Метод Адамса

Этот метод применяется для решения задачи Коши для обыкновенного дифференциального уравнения. Он очень похож на метод Милна. Здесь значения y4, y5,... определяются по формулам:

— формула прогноза;

В этом методе контрольный столбец вычисляется по формуле

Здесь так же, как и в методе Милна, величину i можно добавлять к , а можно не добавлять. В первом случае вычисляется модификация , которая принимается за решение. Во втором случае за решение принимается величина

Задание. Методом Адамса решить одну из задач Коши, приведенных в лаборатороной работе № 18. Задачу решить двумя спо­со­бами:

1) за решение принять величину , а значение не вычислять;

2) за решение принять величину.

На печать выводить (если оно вычисляется),. Начальные значения y1, y2 и y3 найти по формулам Рунге –Кутта.

Лабораторная работа № 22

Решение дифференциальных уравнений с помощью трехточечных дополнительных квадратурных формул

Метод решения дифференциальных уравнений с помощью трехточечных дополнительных квадратурных формул относится к классу методов прогноза и коррекции решения. Если известны решения уравнения в точках yi и yi+1, то значение решения в точке yi+2 определяется по формулам:

По величине i+2 приближенно определяют величину погрешности решения на данном шаге решения. Для начала счета, кроме начального условия, нужно знать ещё одно значение решения при x = a+h. Это значение находится методом Рунге—Кутта четвертого порядка на компьютере. Но тогда программа будет сложнее, так как придется программировать два метода.

Это значение можно вычислить вручную, путем разложения решения в ряд Тейлора, и, взяв несколько членов разложения, подсчитать у(a+h).

Решение дифференциального уравнения с помощью трехточечных дополнительных квадратурных формул требует приблизительно в два раза меньше машинного времени по сравнению с методом Рунге—Кутта четвертого порядка. Этот метод имеет контрольный столбец, позволяющий судить о точности полученного решения.

Составим программу решения уравнения y' = x2+y2, y(0)=1 с помощью указанных выше формул. Для начала счета нужно найти значение функции в точке x = h = 0,05.

Для этой цели разложим решение уравнения в ряд Тейлора, для чего найдем значения производных при х = 0. Так как y(0)=1, то из дифференциального уравнения следует, что y' (0) = 1,

y'' = 2x+2yy' , y'' (0) = 2,

y''' = 2+2 (y ')2+ 2y y'', y''' (0) = 8,

yIV = 6 y'y''+ 2yy''', yIV(0) = 28.

Ряд Тейлора для y(х) имеет вид

В нашем случае ряд будет таким:

Ограничиваясь пятью членами разложения с точностью = 106, найдем у(0,05) = 1,052674.

Задание. С помощью трехточечных дополнительных квадра­тур­ных формул решить одну из приведенных в лабораторной работе № 18 задач Коши для обыкновенного дифферен­циального урав­нения. Начальное значение y2 вычислить методом Рунге–Кут­та четвертого порядка. На печать вывести значения

Лабораторная работа № 23 Решение систем дифференциальных уравнений методом Рунге—Кутта

Пусть задана задача Коши для системы двух дифференциальных уравнений:

Выбирается шаг h > 0. Требуется найти решение системы в точках xi = x0 + ih (i = 1, 2, ..., n). Если считать известным реше­ние в точке xi , то решение в точке xi+1 находится по формулам:

Метод является достаточно точным, не требует начального отрезка. Недостатком метода является то, что он не имеет контрольного столбца.

На практике этим методом рассчитываются значения функций с шагом h, а затем с шагом . Количество совпадающих цифр в значениях yi и zi характеризует точность решения.

Задание. Методом Рунге–Кутта с шагом h = 0,1 в интервале [0;1] решить систему дифференциальных уравнений

где k – номер фамилии студента в списке преподавателя. Затем решить систему с шагом h = 0,05 и результаты занести в массивы u и v, размерность которых равна 21. Вычислить значения i =­ = yi – u2i, i = ziv2i (i = 0, 1, …..., 10). На печать выдать значе­ния i, xi, yi, zi, i, i (i = 0, 1, ...…, 10).