
- •Тема 4. Численное дифференцирование и интегрирование
- •4.1. Численное дифференцирование: постановка задачи, вывод формул
- •4.2. Оценка погрешности численного дифференцирования
- •4.3. Обусловленность численного дифференцирования.
- •4.4. Формулы для высших и частных производных
- •4.5. Задача численного интегрирования
- •4.6. Формула трапеций
- •4.7. Формула Симпсона
- •4.7.2. Оценка погрешности формулы Симпсона.
- •4.8. Составные формулы численного интегрирования
- •4.9. Метод дробления шага. Правило Рунге
- •4.10. Обусловленность квадратурных формул
- •Тема 5. Численное решение обыкновенных дифференциальных уравнений (оду)
- •5.1. Основные понятия
- •5.2. Классификация численных методов решения задачи Коши для уравнения 1-го порядка
- •Результаты расчетов примера 5.3
- •5.3. Точность и устойчивость
- •5.3.1. Свойства задачи Коши
- •5.3.2. Свойства численных методов решения задачи Коши
- •5.4.1. Подходы к выводу расчётных формул.
- •5.4.2. Формулы методов 4-го порядка.
- •Метод Адамса-Моултона. Это 3-х шаговый неявный метод.
- •5.5. Методы Рунге-Кутты
- •Методы 4-го порядка точности. Результаты расчетов примера 5.3
- •5.6. Правило Рунге-Ромберга
- •5.7. Системы дифференциальных уравнений
- •Приложение Программа решения системы дифференциальных уравнений
- •Текст программы
5.4.2. Формулы методов 4-го порядка.
Метод Адамса-Башфорта. Это явный 4-х шаговый метод. При нахождении уi+1 используются 4 ранее найденные значения правой части fj = f(xj, yj), j = i – 3,…, i.
.
Метод Адамса-Моултона. Это 3-х шаговый неявный метод.
,
Метод
Адамса-Башфорта-Моултона.
Это
4-х шаговый метод типа “прогноз-коррекция”.
При вычислении
используется формула метода Адамса-Башфорта.
Коррекция производится по формуле 3-х
шагового метода Адамса-Моултона
,
,
5.5. Методы Рунге-Кутты
Идея методов. В настоящее время методы Рунге-Кутты считаются самыми популярными, к этой группе относятся многие из уже известных нам методов.
Идея методов состоит в следующем. На отрезке [хi, хi+1] выберем k точек хi = x1 x2 … xk хi+1 и построим квадратурную формулу
h
,
где yj – прогнозируемое значение у(х j). Эти прогнозы будем строить по следующему правилу:
у1 = уi; у2 = уi + h 2 1f (x1, у1); у3 = уi + h [ 3 1f (x1, у1) + 3 2 f (x2, у2) ]; ….
уk
= уi
+
h
.
Обозначим х j = хi, + h j , 1= 0 , j 1. Теперь остаётся подобрать числовые параметры p1,…, pk, 2,…, k, 2 1,…, k k–1 так, чтобы точность квадратурной формулы была максимальна. Т.к. при выводе получаются достаточно громоздкие формулы, то для изучения принципа рассмотрим случай k = 2.
Вывод 2-х точечной формулы. Обозначим хi = x1 = х; x2 = х + h = x . Тогда yi = y1 = y; y2 = y + h f (x, y) = y . Следовательно
y(x+h) – y(x) = h [p1 f(x, y) + p2 f(x , y )].
Т.к. данное равенство является приближённым, то имеется остаточный член
R(h) = [y(x+h) – y(x)] – h [p1 f(x, y) + p2 f(x , y )]. (5.13)
Подберём коэффициенты так, чтобы R(h) при увеличении h возрастал как можно медленнее. Как этого добиться?
Разложим R(h) по формуле Тейлора:
R(h)
= R(0)
+
(5.14)
Известно, что при малом h значение hm при m >1 возрастает медленнее, чем h, и чем больше m, тем медленнее этот рост. Значит, если в разложении (5.14) первые m производных и R(0) будут равны 0, то R(h) будет расти как hm+1, и чем больше m, тем медленнее рост. Значит, надо подбирать коэффициенты так, чтобы в (5.14) как можно больше первых членов обратилось в 0. Для вычисления членов разложения воспользуемся формулой (5.13):
0) R(0) = y(x+0) – y(x) – 0 = 0.
1)
{
h
[p1
f(x,
y)
+ p2
f(x
,
y
)]
}.
Воспользуемся формулой производной сложной функции:
;
= 0;
{…}
= p1
f(x,
y)
+ p2
f(x
,
y
)
+ h{0
+ p2
[
+
]}.
В последнем
слагаемом мы подставили
f(x,
y).
Таким образом
– p1
f(x,
y)
– p2
f(x
,
y
)
– 0 = f(x,
y)
– p1
f(x,
y)
+ p2
f(x
,
y
)
=
f(x, y)[1 – p1 – p2 ].
Здесь
в силу исходного дифференциального
уравнения
=
f(x,
y).
Полученное выражение
должно быть равно 0 тождественно при
любых x,
y,
f(x,
y).
Это возможно, если
1 – p1 – p2 = 0. (5.15)
Данное выражение – первое условие, которому должны удовлетворять искомые коэффициенты.
2) Вычислим
и запишем тождество
= 0. В результате получим два новых
условия:
.
(5.16)
3) Вычисляем
,
и здесь выясняется, что если записать
все условия, при которых
,
то получим число уравнений больше, чем
искомых параметров. Поэтому придётся
ограничиться условиями (5.15) и (5.16).
Всего получаем три уравнения относительно 4-х неизвестных: p1, p2, , . Значит, один параметр, например , можно выбрать произвольно, а остальные выразить через него:
= ;
;
.
Отсюда, выбрав различные значения [0; 1], получим разные варианты двухточечной формулы Рунге-Кутты.
1) Положив
= 1, получим
=
= 1;
.
Отсюда x2
= x
+ h;
y2
= y
+ h
f(x,
y),
а формула будет иметь вид:
уi+1 = уi + [ f(xi, уi ) + f(xi+1 , y2) ].
Здесь y2 – прогнозируемое по формуле Эйлера значение уi+1. Полученная формула совпадает с выражением (5.7) метода Эйлера-Коши.
2) При
будет
;
p1
= 0; p2
= 1. Получим формулу:
уi+1
= уi
+ h
f
.
Это формула так называемого улучшенного метода Эйлера.
Свойства методов Рунге-Кутты.
Теорема 5.5. Пусть существует константа L>0, что для любого x[х0, хN] и у (–, +) выполняется условие | | L. Тогда всякий k-точечный метод Рунге-Кутты устойчив на конечном отрезке [х0, хN]. Если при этом метод имеет m-й порядок аппроксимации, то он сходится с m-м порядком точности.
Для определения порядка аппроксимации каждого конкретного варианта метода надо проанализировать полученное выражение для R(h). Если первые m членов в формуле (5.14) равны 0, то R(h) hm+1C. Поскольку между в формуле (5.12) для погрешности аппроксимации и R(h) выполняется соотношение R(h) = h , то получаем hmC. Это означает, что метод Рунге-Кутты будет иметь m-порядок аппроксимации. Например, при выводе 2-точечного метода мы получили = 0, т.е. m = 2. Следовательно, все 2-точечные методы Рунге-Кутты имеют 2-й порядок аппроксимации, и в силу теоремы 5.5 сходятся со вторым порядком точности.
Задания. 1. Объяснить, почему R(h) = h.
2. Является ли метод Рунге-Кутты устойчивым для задачи из примера 5.3?
Метод Рунге-Кутты 4-го порядка точности. Это явный одношаговый метод. При нахождении значения уi+1 используются 4 дополнительные вычисления правой части f(x, y).
,
где
;
;
;
.
Далее приводятся результаты расчетов с помощью перечисленных методов для примера 5.3 на отрезке [0, 1.5] c шагом h = 0.15. Для сравнения указаны точки точного решения у(х) = tg(x). Лучшее совпадение с точным решением получено методом Рунге-Кутты.
На рис. 5.2 приводятся графики решений. Для лучшего разрешения указаны кривые только на отрезке [0.6; 1.5]