num-meth
.pdf
4.3. Линейные многошаговые методы |
101 |
то шаг уменьшают вдвое и возвращаются к началу второго этапа, т.е. заново считают η2i , η3i и т.д. Если R ≤ ε, то считают y(xi+1) :≈ yi+1 с точностью ε. При переходе к следующему шагу делается проверка на возможность увеличить расчетный шаг: если R ≤ ε/64, то далее расчет ведется с шагом h := 2h.
4.3Линейные многошаговые методы
4.3.1Многошаговые методы Адамса
Будем строить численные методы решения начальной задачи
y′ = f(x, y), x [x0, b], |
(4.35) |
(4.36)
Пусть уже найдено несколько приближенных значений yj ≈ y(xj) (j = 0, 1 . . . , i) решения y = y(x) задачи (4.35)-(4.36) на равномерной сетке xj = x0 +jh, и нужно получить правило для вычисления очередного значения yi+1 ≈ y(xi+1). Для вывода таких правил используем интегро-интерполяционный подход: проинтегрировав левую и правую части уравнения (4.35) по промежутку [xi, xi+1], в полученном равенстве
∫xi+1
y(xi+1) = y(xi) + |
f(x, y(x))dx |
(4.37) |
xi
под интеграл вместо функции f(x, y(x)) подставим интерполирующий ее многочлен Pk(x). Хотя выражение функции f(x, y(x)) как функции одной переменной x, вообще говоря, неизвестно, ее дискретные приближенные значения f(xj, yj) ≈ f(xj, y(xj)). В таком случае, дополняя эти известные значения пока что неизвестным значением fi+1 := f(xi+1, fi+1), можно построить таблицу конечных разностей, служащую основной для образования интерполяционных многочленов k-й степени для интерполирования назад из точек (xi, fi) и
(xi+1, fi+1).
При интерполировании назад из узла xi по второй интерполяционной формуле Ньютона имеем
|
Pk(x) = Pk(xi + qh) = fi + q∆fi−1 + |
q(q + 1) |
∆2fi−2 |
+ |
||||||||
|
2! |
|
||||||||||
+ |
q(q + 1)(q + 2) |
∆3f |
|
+ |
· · · |
+ |
q(q + 1) . . . (q + k − 1) |
∆kf |
|
|||
|
i−3 |
|
i−k |
|||||||||
3! |
|
|
|
k! |
|
|
||||||
а из узла xi+1 по той же формуле получаем многочлен
|
˜ |
˜ |
|
|
|
|
|
|
q(q + 1) |
2 |
|
|
|
|||
|
Pk(x) = Pk(xi+1 + qh) = fi+1 + q∆fi + |
2! |
|
∆ |
fi−1 |
+ |
||||||||||
+ |
q(q + 1)(q + 2) |
|
∆3f |
|
+ |
· · · |
+ |
q(q + 1) . . . (q + k − 1) |
∆kf |
|
|
|||||
|
i−2 |
|
i−k+1 |
|||||||||||||
|
|
3! |
|
|
|
|
k! |
|
|
|
|
|
||||
(4.38)
(4.39)
˜
Подстановка многочленов Pk(x) и Pk(x) в равенстве (4.37) приводит к формулам для вычисления очередного значения yi+1 ≈ y(xi+1) вида
∫xi+1 |
(4.40) |
yi+1 = yi + Pk(x)dx |
xi
102 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений
и |
xi+1 |
|
yi+1 = yi + |
∫ P˜k(x)dx |
(4.41) |
xi
Получаем два семейства методов (с параметром k N0), называемых многошаговыми методами Адамса. Рассмотрим по отдельности каждое из этих семейств.
Экстраполяционные методы Адамса-Башфорта. Чтобы подставить в (4.40) мно-
|
|
|
|
|
|
|
|
|
|
|
|
|
x − xi |
|
|
|
|
|
|
|
|
|
|
|
|
|
xi+1 |
||||
гочлен (4.38), зависящий от переменной q = |
, сделаем в интеграле |
Pk(x)dx заме- |
|||||||||||||||||||||||||||||
h |
|||||||||||||||||||||||||||||||
ну переменной x = xi + qh, в соответствии с которой |
|
|
|
|
|
|
|
|
x∫i |
||||||||||||||||||||||
|
|
|
|
xi+1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
∫ Pk(x)dx = h ∫ |
Pk(xi + qh)dq. |
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
xi |
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Тогда формула (4.40) может быть переписана в виде |
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|
yi+1 = yi + hIk, |
|
|
|
|
|
|
|
|
(4.42) |
|||||||||||||||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ik := ∫0 1 Pk(xi + qh)dq = [fiq + |
q2 |
|
∆fi−1 + ( |
q3 |
+ |
q2 |
) ∆2fi−2 + |
||||||||||||||||||||
|
2 |
6 |
4 |
||||||||||||||||||||||||||||
|
1 q4 |
1 q5 |
3q4 |
|
|
11q3 |
|
|
|
|
|
1 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
+ |
|
( |
|
+ q3 + q2) ∆3fi−3 + |
|
( |
|
+ |
|
|
+ |
|
|
|
|
|
+ 3q2) ∆4fi−4 + . . . ]0= |
||||||||||||||
6 |
4 |
24 |
5 |
|
2 |
3 |
|
|
|||||||||||||||||||||||
|
|
|
|
= fi + |
1 |
∆fi 1 + |
5 |
∆2fi 2 |
+ |
3 |
|
∆3fi 3 + |
|
251 |
∆4fi |
4 + . . . . (4.43) |
|||||||||||||||
|
|
|
|
|
|
|
720 |
||||||||||||||||||||||||
|
2 |
|
− |
12 |
|
− |
8 |
|
− |
|
− |
|
|||||||||||||||||||
Таким образом, на основе (4.42) получается формула, определяющая экстраполяционный метод Адамса-Башфорта:
yi+1 = yi + h (fi + |
1 |
|
|
|
|
|
|
5 |
|
|
|
|
|
3 |
|
|
|
251 |
|
+ . . . ) . |
(4.44) |
|||||||||
|
|
∆fi−1 + |
|
|
|
∆2fi−2 + |
|
|
∆3fi−3 |
+ |
|
|
∆4fi−4 |
|||||||||||||||||
2 |
12 |
8 |
720 |
|||||||||||||||||||||||||||
Наиболее простые частные случаи метода Адамса-Башфорта: |
|
|||||||||||||||||||||||||||||
при k = 0 |
|
|
|
I0 = fi yi+1 = yi + hf(xi, yi); |
|
|
(4.45) |
|||||||||||||||||||||||
при k = 1 |
|
|
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
3 |
1 |
|
|
|
|
|
|
|
|
||||||||||||||||||
I1 = fi + |
|
|
∆fi−1 = |
|
fi − |
|
fi−1 |
|
|
|
|
|
||||||||||||||||||
2 |
2 |
2 |
|
|
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
(4.46) |
||||||
yi+1 = yi + |
|
|
[3f(xi, yi) − f(xi−1 |
, yi−1)]; |
|
|
||||||||||||||||||||||||
|
2 |
|
|
|||||||||||||||||||||||||||
при k = 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
23 |
|
|
16 |
|
|
5 |
|
|
|
|
|
|
|||||||||||||
I2 = I1 + |
|
|
∆2fi−2 = |
|
fi − |
|
fi−1 + |
|
|
fi−2 |
|
|
|
|||||||||||||||||
12 |
12 |
12 |
12 |
|
|
|||||||||||||||||||||||||
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(4.47) |
||||||
yi+1 = yi + |
|
|
[23f(xi, yi) − 16f(xi−1, yi−1) + 5f(xi−2, yi−2)]; |
|||||||||||||||||||||||||||
|
12 |
|||||||||||||||||||||||||||||
4.3. Линейные многошаговые методы |
|
|
|
|
|
|
103 |
|||||||
приk = 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
3 |
|
|
55 |
59 |
37 |
9 |
|
|
|||||
I3 = I2 + |
|
∆ fi−3 |
= |
|
|
fi − |
|
fi−1 + |
|
fi−2 − |
|
fi−3 |
|
|
8 |
24 |
24 |
24 |
24 |
||||||||||
yi+1 = yi + |
h |
[55f(xi, yi) − 59f(xi−1, yi−1) + |
|
|||||||||||
|
|
|
||||||||||||
24 |
(4.48) |
|||||||||||||
|
|
+ 37f(xi−2, yi−2) − 9f(xi−3, yi−3)]. |
||||||||||||
Формулы (4.45), (4.46),(4.47) и (4.48) определяют методы Адамса-Башфорта соответственно первого, второго, третьего и четвертого порядков. Относительно порядка метода (4.45): метод Эйлера (4.8). Обоснование же утверждения о порядках остальных перечисленных конкретных методов состоит в следующем.
В общем случае, для k+1 раз непрерывно дифференцируемой функции шаговая ошибка может быть получена сравнением равенства (4.40) с породившим его равенством (4.37),
т.е. интегрированием остаточного члена Rk(x) = f(k+1)(ξ, y(ξ))Πk+1(x) интерполяционная
(k + 1)!
формула Лагранжа (см. (1/12)). Применительно к конечноразностной интерполяционной формуле (4.38) функция Rk(x) преобразуется к виду
|
f(k+1) |
(ξ, y(ξ)) |
(4.49) |
|
Rk(xi + qh) = |
|
|
q(q + 1) . . . (q + k)hk+1, |
|
|
|
|||
|
(k + 1)! |
|
||
т.е. может считаться величиной O(hk+1). Следовательно, локальная погрешность метода
∫1
типа (4.42) будет составлять величину h Rk(xi + qh)dq = O(hk+2), а глобальная — вели-
0
чину O(hk+1). Таким образом, метод Адамса, порождаемый интерполированием правой части уравнения (4.35) с помощью многочлена k-й степени, является методом (k +1)-го порядка точности (относительно шага h).
Интерполяционный многочлен Pk(x) степени k строился по k+1 значениям fi−k, fi−k−1, . . . , fi−1, fi, использующим k + 1 значений yi−k, yi−k+1, . . . , yi−1, yi искомого решения y(x), а количество
этих значений определяет шаговость метода. Следовательно, метод (4.46) — двухшаговый метод Адамса-Башфорта второго порядка, метод (4.47) — трехшаговый и т.д.
Интерполяционные методы Адамса-Моултона. В интеграле, фигурирующем в
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
˜ |
формуле (4.41), делаем замену x = xi+1 + qh и подставляем в него выражение Pk(x), |
||||||||||||||||||||||||||||||
определяемое формулой (4.39). Приходим к аналогичному (4.42) равенству |
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
˜ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yi+1 = yi + hIk, |
|
|
|
|
|
|
|
|
|
|
|||||||||||||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I˜k := ∫0 P˜k(xi+1 + qh)dq = [fi+1q + |
q2 |
∆fi + ( |
q3 |
+ |
q2 |
) ∆2fi−1 + |
|
|||||||||||||||||||
|
2 |
6 |
4 |
|
||||||||||||||||||||||||||
|
|
|
|
−1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ 3q2) ∆4fi−3 + . . . ] |
0 |
|
|
|||||||
|
1 q4 |
|
1 q5 |
3q4 |
|
11q3 |
|
|
||||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||||||||
+ |
|
( |
|
+ q3 + q2) ∆3fi−2 + |
|
|
( |
|
|
+ |
|
+ |
|
|
|
|
|
|
1= |
|
||||||||||
6 |
4 |
24 |
5 |
2 |
3 |
|
|
− |
|
|||||||||||||||||||||
|
1 |
1 |
|
|
|
1 |
|
19 |
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
(4.50) |
||||||||||||||||||||
|
|
|
|
= fi+1 − |
|
∆fi − |
|
∆2fi−1 |
− |
|
|
∆3fi−2 − |
|
∆4fi−3 + . . . . |
||||||||||||||||
|
|
|
|
2 |
12 |
24 |
720 |
|||||||||||||||||||||||
Отсюда следует конечноразностная формула интерполяционного метода Адамса-Моултона
yi+1 = yi + h [fi+1 − |
1 |
∆fi − |
1 |
∆2fi−1 |
− |
1 |
∆3fi−2 |
− |
19 |
∆4fi−3 |
− . . . ] . |
(4.51) |
2 |
12 |
24 |
720 |
104 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений
Аналогично тому, как это делалось для методов Адамса-Башфорта, при k = 1, 2, 3 при k = 0
|
|
|
yi+1 = yi + hf(xi+1, yi+1), |
(4.52) |
|||||
при k = 1 |
|
|
|
|
|
h |
|
|
|
yi+1 |
= yi + |
[f(xi+1, yi+1) + f(xi, yi)], |
(4.53) |
||||||
|
|||||||||
|
|
2 |
|
|
|||||
при k = 2 |
h |
|
|
|
|
|
|
|
|
yi+1 = yi + |
|
[5f(xi+1, yi+1) + 8f(xi, yi) − f(xi−1, yi−1)], |
(4.54) |
||||||
|
|||||||||
12 |
|||||||||
при k = 3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
||||
yi+1 = yi + |
|
[9f(xi+1, yi+1) + 19f(xi, yi) − |
|
||||||
24 |
(4.55) |
||||||||
|
|
|
|
− 5f(xi−1, yi−1) + f(xi−2, yi−2)]. |
|||||
Формулы (4.52) и (4.53) определяют уже известные нам методы, а именно, неявный метод Эйлера (4.14) и метод трапеций (4.15), имеющие 1-ый и 2-ой порядки точности соответственно. Оба эти метода одношаговые, а следующими за ними методы Адамса-Моултона (4.54) и (4.55) 3-го и 4-го порядков относятся соответственно к двухшаговым и трехшаговым методам. Таким образом, для интерполяционных методов АдамсаМоултона порядок шаговости на единицу ниже порядка точности метода.
4.3.2Методы прогноза и коррекции. Предиктор-корректорные методы Адамса
Под названием методы прогноза и коррекции понимается совместное применение явных и неявных методов одинакового или смежных порядков. По явной формуле значение решения y(x) задачи (4.35)—(4.36) в текущей (расчетной) точке xi+1 прогнозируется, т.е. находится его, быть может, достаточно грубое приближение, а с помощью неявной формулы, в правую часть которой подставляется спрогнозированное значение, оно уточняется (корректируется).
Обозначим через yiB+1 приближенное значение решения y(xi+1), подсчитываемое по явной экстраполяционной формуле Адамса-Башфорта.
Имеем следующие предиктор-корректорные методы Адамса:
первого порядка (он же явно-неявный метод Эйлера)
B
y = y + hf(x , y ),
i i i
i+1
yi+1 = yi + hf(xi+1, yiB+1);
второго порядка
yiB+1 = yi + |
h |
[3f(xi, yi) − f(xi−1, yi−1)], |
2 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yi+1 = yi + |
h |
[f(xi+1, yiB+1) + f(xi, yi)]; |
2 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4.3. Линейные многошаговые методы |
|
|
|
|
|
105 |
|||||||||||
третьего порядка |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yiB+1 = yi + |
12 |
[23f(xi, yi) − 16f(xi−1, yi−1) + 5f(xi−2, yi−2)], |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yi+1 = yi + 12[5f(xi+1, yiB+1) + 8f(xi, yi) − f(xi−1, yi−1)]; |
||||||||||||||||
четвертого |
порядка |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yiB+1 = yi + |
24 |
[55f(xi, yi) − 59f(xi−1, yi−1)+ |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+37f(xi |
|
2, yi |
|
2) 9f(xi |
3, yi 3)], |
|||||||||
|
|
|
|
|
|||||||||||||
|
|
|
|
|
− − |
|
|
− |
|
|
|
− |
|||||
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(4.56) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
yi+1 = yi + |
24 |
[9f(xi+1, yiB+1) + 19f(xi, yi)− |
|||||||||||||
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5f(x |
i |
1 |
, y |
i 1 |
) + f(x |
i 2 |
, y |
i |
2 |
)]. |
|||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
− |
|
|
|
− |
|
|
− |
|
|
− |
|
|
Одним из |
главных достоинств методов прогноза и коррекции является возможность |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
контролировать шаговую погрешность сравнением двух полученных по явной и неявной формулам приближений к y(xi+1).
Считая, что расчетный шаг h достаточно мал и конечные разности с ростом их порядка убывают, главные части шаговых погрешностей формул Башфорта и Моултона
4-го порядка, в соответствии с (4.44) и (4.51), характеризуются величинами 251720h∆4fi−4
для явной и −72019 h∆4fi−3 для неявной формул. Таким образом, если наряду с введенным
обозначением yiB+1 обозначить через yiM+1 приближенное значение y(xi+1), получаемое по формуле Адамса-Моултона четвертого порядка, то можно записать два приближенных
представления y(xi+1): |
251 |
|
|
||
|
|
(4.57) |
|||
y(xi+1) ≈ yiB+1 + |
|
|
h∆4fi−4 |
||
720 |
|||||
и |
|
|
|
|
|
y(xi+1) ≈ yiM+1 − |
19 |
h∆4fi−3 |
(4.58) |
||
|
|||||
720 |
|||||
Если четвертые разности функции f(x, y(x)) практически постоянны, то, во-первых, значения yiB+1 и yiM+1 дают двусторонние приближения к точномурешению y(xi+1), а во-вторых, через разность между значениями yiB+1 и yiM+1 можно оценить точность каждого из них.
Приравнивая правые части приближенных равенств (4.57) и (4.58) и отождествляя
∆4fi 4 |
с ∆4fi |
− |
3, имеем: |
|
|
|
|
|
|
|
|
|
|
|
|
− |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
251 |
|
3 |
|
|||||
|
|
|
yiM+1 − yiB+1 ≈ |
|
h∆4fi−3 |
+ |
|
|
h∆4fi−4 |
≈ |
|
h∆4fi−3 |
, |
||
|
|
|
720 |
720 |
8 |
||||||||||
откуда |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h∆4fi−3 ≈ |
8 |
(yiM+1 − yiB+1) |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
3 |
|
|
|
|
|||||||
Подставляя последнее в (4.58), получаем приближенное равенство |
|
||||||||||||||
|
|
|
y(xi+1) ≈ yiM+1 − |
19 |
(yiM+1 − yiB+1) |
|
|
(4.59) |
|||||||
|
|
|
|
|
|
|
|||||||||
|
|
|
|
720 |
|
|
|||||||||
106 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений
Переписав формулу (4.59) в виде
y(xi+1) − yiM+1 ≈ −72019 (yiM+1 − yiB+1),
применяем это для пошагового контроля точности:
если 72019 |yiM+1 − yiB+1| < ε, полагаем y(xi+1) :≈ yiM+1 с точностью ε и переходим к следующему шагу (i:=i+1), иначе уменьшаем шаг h и снова подсчитываем yiM+1 и yiB+1.
Другое назначение формулы (4.59)—прямое применение ее правой части для получения уточненного значения:
полагаем
yi+1 :≈ yiM+1 − |
19 |
(yiM+1 |
− yiB+1) |
(4.60) |
720 |
4.3.3Метод Милна четвертого порядка
Для вывода первой формулы Милна (т.е. формулы предсказания) проинтегрируем данное уравнение (4.35) на промежутке [xi−3, xi+1] и в полученном интегральном равенстве
∫xi+1
y(xi+1) = y(xi−3) + |
f(x, y(x))dx |
(4.61) |
xi 3
подынтегральную функцию f(x, y(x)) заменим первым интерполяционным многочленом Ньютона P3(x), построенным по четырем узлам xi−3, xi−2, xi−1, xi с предполагающимися уже известными приближенными значениями
fi−3 := f(xi−3, yi−3) ≈ f(xi−3, y(xi−3)), fi−2 := f(xi−2, yi−2) ≈ f(xi−2, y(xi−2)), fi−1 := f(xi−1, yi−1) ≈ f(xi−1, y(xi−1)), fi := f(xi, yi) ≈ f(xi, y(xi)).
Тогда, после замены переменной x ≈ xi−3 + qh, на основании (4.61) имеем:
∫4 ∫4 [
y(xi+1) ≈ yi−3 + h P3(xi−3 + qh)dq = yi−3 + h fi−3 + q∆fi−3 +
0 0
|
+ |
q(q − 1) |
∆2f |
i−3 |
+ |
q(q − 1)(q − 2) |
∆3f |
i−3] |
dq = y |
i−3 |
+ |
||||||||||||||
|
|
|
|
2! |
|
|
|
|
|
|
3! |
|
|
|
|
|
|||||||||
|
q2 |
1 |
q3 |
q2 |
1 |
q4 |
|
|
4 |
|
|||||||||||||||
|
|
|
|
|
|||||||||||||||||||||
+h[fi−3q + |
|
∆fi−3 + |
|
( |
|
− |
|
|
|
|
)∆2fi−3 + |
|
( |
|
− q3 + q2)∆3fi−3] = |
||||||||||
2 |
2 |
3 |
|
2 |
6 |
4 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
|
= yi−3 + |
4 |
h(3fi−3 + 6∆fi−3 + 5∆2fi−3 |
+ 2∆3fi−3). |
||||||||||||||||||
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
3 |
||||||||||||||||||||
Отсюда, выразив конечные разности через значения функции, получаем первую формулу Милна (предсказания)
|
4 |
|
(4.62) |
y˜i+1 = yi−3 + |
3h[2(xi, yi) − f(xi−1 |
, yi−1) + 2f(xi−2, yi−2)], |
которую, очевидно, следует отнести к экстраполяционным.
4.3. Линейные многошаговые методы |
107 |
Главный член локальной погрешности формулы (4.62) находим интегрированием следующего (первого из неучтенных) слагаемого интерполяционного многочлена Ньютона. Именно:
|
|
|
|
|
|
|
4 |
q(q |
|
1)(q − 2)(q − 3) |
|
|
|
|
|
|
y(x |
|
|
) |
|
y˜ |
|
h |
|
|
∆4f |
|
dq = |
||||
|
|
|
|
|
|
|
||||||||||
|
i+1 |
|
− |
i+1 |
≈ |
∫0 |
|
− |
4! |
|
|
|
|
i−3 |
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
h |
∆4fi−3 ∫0 |
|
|
|
|
|
14 |
|
|
|||||
= |
|
(q4 − 6q3 + 11q2 − 6q)dq = |
|
|
h∆4fi−3. |
|||||||||||
24 |
45 |
|||||||||||||||
Считая четвертые разности примерно одинаковыми, опустим индекс у функции f в записи ∆4fi−3; в результате получаем следующее приближенное представление решения в точке
xi+1: |
14 |
|
|
|
y(xi+1) ≈ y˜i+1 + |
h∆4f. |
(4.63) |
||
|
||||
45 |
Проинтегрируем уравнение (4.35) теперь на промежутке [xi−1, xi+1] и в полученном равенстве
|
|
xi+1 |
|
|
|
|
y(xi+1) = y(xi−1) +x∫ |
f(x, y(x))dx |
|
||||
|
|
i 1 |
|
|
|
|
применим к интегралу простейшую формулу Симпсона (3.27). Имеем: |
|
|||||
y(xi+1) = y(xi−1) + |
h |
[f(xi+1, y(xi+1)) + 4f(xi, y(xi)) + |
|
|||
|
|
|||||
3 |
|
|||||
|
|
|
|
h5 |
(4.64) |
|
|
|
+f(xi−1, y(xi−1))] − |
|
fIV (ξi). |
||
|
|
90 |
||||
Отбрасывая здесь остаточный член и заменяя значения решения y(xi−1) и y(xi) известными приближенными значениями yi−1 и yi, а стоящие в правой части под знаком функции f неизвестное значение y(xi+1) тем значением y˜i+1, которое получается в результате вычисления по явной первой формуле Милна (4.62), приходим ко второй формуле Милна (уточнения)
yi+1 |
= yi |
1 |
+ h |
[f(xi+1, y˜i+1) + 4f(xi, yi) + f(xi |
|
1, yi |
|
1)], |
(4.65) |
|
|
− |
|
|
3 |
|
− |
|
− |
|
|
являющейся интерполяционной.
Для вывода приближенной оценки шаговой погрешности воспользуемся приближен-
ным равенством fIV (ξ) ≈ ∆4f , где ∆4f так же и в (4.63),—условная запись практически h4
постоянных четвертых разностей. Исходя из точного равенства (4.64), локальную погрешность получаемого с помощью формулы (31) приближенного значения yi+1 можно при-
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|||
ближенно охарактеризовать величиной − |
|
∆4f, т.е. |
|
|
|
|||||||||||
90 |
|
|
|
|||||||||||||
|
|
|
y(xi+1) ≈ y(xi+1) − |
h |
∆4f. |
(4.66) |
||||||||||
|
|
|
|
|
||||||||||||
|
|
|
90 |
|||||||||||||
Сравнение (4.63) и (4.66)дает: |
|
|
|
|
|
|
|
|
|
|
||||||
y |
i+1 − |
y˜ |
≈ |
29 |
h |
∆4f |
|
|
h |
∆4f |
≈ |
yi+1 − y˜i+1 |
, |
|||
|
|
|
29 |
|||||||||||||
|
i+1 |
90 |
90 |
|
|
|||||||||||
108 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений
следовательно, |
|
|
|
|
|
|
y˜i+1 − yi+1 . |
|
|
y(x |
i+1 |
) |
− |
y |
i+1 |
≈ |
(4.67) |
||
|
|
|
29 |
|
|||||
Таким образом, при численном интегрировании начальной задави (4.35)-(4.36) методом Милна четвертого порядка, определенным формулами (4.62) и (4.65), на каждом i−м шаге следует вычислять величину
y˜i+1 − yi+1
29
и сравнивать ее модули с величиной ε > 0 допустимой шаговой погрешности. Если |di+1| < ε, то за y(xi+1) принимается полученное по второй формуле Милна значение yi+1 (или его уточненное значение yi+1 := yi+1 + di+1); иначе шаг должен быть уменьшен.
4.3.4Общий вид линейных многошаговых методов. Условия согласованности
Все m-шаговые методы Адамса можно описать одной формулой
∑j |
|
m |
|
yi+1 = yi + h βjf(xi+1−j, yi+1−j), |
(4.68) |
=0 |
|
где m должно быть фиксированным натуральным числом, а i может принимать значения m−1, m, m+1, . . . . При β0 = 0 формула (4.68) определяет явные, а при β0 ≠ 0—неявные методы, которые с единственными конкретными наборами коэффициентов β1, β2, β3, . . . , βm в первом и β0, β1, β2, . . . , βm во втором случаях являются соответственно экстраполяционными и интерполяционными методами Адамса. Как известно, m-шаговый метод Адамса при достаточной гладкости решения имеет m-й порядок точности. Так как при любом его порядке для реализации одного шага требуется вычисление лишь одного нового значения функции, то при построении решения на большом промежутке выгодно применять методы Адамса достаточно высоки порядков. Но при этом возникают проблемы с вычислением первых m−1 "разгонных"значений y1, y2, y3, . . . , ym−1 (значение y0 задано). Впрочем, можно обойтись применением для этих целей одношаговых методов Рунге-Кутты.
Аналогично (4.68) при m=4 выглядят и формулы Милна, только в формуле прогноза (4.62) первым слагаемым стоит yi−3, а в формуле коррекции (4.65)—yi−1. Похожий на (4.68) вид имеют также многошаговые методы Нистрема, Хемминга и др. Все эти методы можно описать формулой
∑ |
∑j |
|
m |
m |
|
yi+1 = |
αjyi+1−j + h βjf(xi+1−j, yi+1−j), |
(4.69) |
j=1 |
=0 |
|
которая задает общий вид линейных многошаговых методов (приближенное значение решения y(x) в точке xi+1 представляется в виде линейной комбинации нескольких приближенных значений решения и его производной в этой и в предшествующих m точках).
К фиксированию параметров αj и βj в формуле (4.69) при фиксированных значениях m = 1, 2, 3, . . . можно подойти следующим способом.
Обратившись к любой из выведенных многошаговых формул вычисления приближенного значения yi+1 решения y(xi+1) уравнения y′ = f(x, y), мы видим, что локальная ошибка, точнее, ее главная часть, представляется в виде (см. (4.57), (4.58), (4.63), (4.66))
y(xi+1) − yi+1 = Ch∆kf = C1hk+1f(k)(ξi) = C1hk+1y(k+1)(ξi), |
(4.70) |
4.3. Линейные многошаговые методы |
109 |
где C и C1—некоторые постоянные, ξi—некоторая точка, а k—порядок метода. Так как многочлен k-й степени имеет нулевую (k + 1)-ю производную, то, значит метод получения yi+1, для которого имеет место (4.70), точен, если его решение y(x)—многочлен k-й (и менее) степени.
Подмеченный факт приводит к мысли положить в основу построения методов численного интегрирования задачи Коши (4.35)-(4.36) алгебраический порядок точности, под которым здесь понимается максимальная степень k многочлена y(x) = Pk(x), обращающего в нуль погрешность (4.70).
Будем подставлять в формулу (4.69), определяющую общий вид m-шаговых методов, в роли решения y(x) представителей многочленов Pk(x)—степенные функции 1, x, x2, . . . , xk, и будем считать, что такая подстановка вместо yj значений y(xj) не порождает погрешностей, т.е. получающиеся при этом равенства являются точными.
Пусть k = 0, т.е. возьмем y(x) ≡ 1. Тогда, так как y(xj) = 1 при любом значении j, а y′ = f(x, y) ≡ 0, то (4.69) в этом случае превращается в равенство
∑ |
∑j |
m |
m |
1 = |
αj · 1 − h βj · 0. |
j=1 |
=0 |
Следовательно, параметры αj любого из методов семейства (4.69) должны подчиняться
условию
∑m
αj = 1. |
(4.71) |
j=1
Положим теперь k = 1 и будем считать решением y(x) ≡ x. В силу y′ = f(x, y) ≡ 1, результат подстановки такой функции в (4.69) приведет к равенству
∑ |
∑j |
|
m |
m |
|
xi+1 = |
αjxi+1−j + h βj, |
(4.72) |
j=1 |
=0 |
|
которое должно быть справедливым при любых i = m−1, m, m+1, . . . . Взяв i = m, исходя из выражения i-го узла через шаг xi = x0 + ih, от (4.72) приходим к равенству
∑ |
|
|
∑j |
m |
|
|
m |
x0 + (m + 1)h = αj[x0 + (m + 1 − j)h] + h |
βj. |
||
j=1 |
|
|
=0 |
Переписав его в виде |
∑ |
∑j |
∑ |
∑ |
|||
m |
m |
m |
m |
x0 + (m + 1)h = x0 αj + (m + 1)h |
|
αj − h |
jαj + βj, |
j=1 |
j=1 |
=1 |
j=0 |
учитываем найденное выше уравнение (4.71), в результате чего получаем простое требование ко второй группе параметров семейства m-шаговых методов (4.69):
∑ |
∑j |
|
m |
m |
|
βj = |
jαj. |
(4.73) |
j=0 |
=1 |
|
Совокупность требований (4.71), (4.73) называют условиями согласованности параметров линейных многошаговых методов (4.69). Они выведены как необходимые условия того, чтобы произвольный метод этого семейства имел, по меньшей мере, первый алгебраический порядок точности. Доказано, что они являются и достаточными для этого условиями.
110 Глава 4. Численные методы решения обыкновенных дифференциальных уравнений
Посмотрим, что представляют собой одношаговые методы из семейства m-шаговых методов, т.е. зафиксируем в (4.69) m = 1. Имеем трехпараметрическую формулу
yi+1 = α1yi + h(β0fi+1 + β1fi). |
(4.74) |
Чтобы она определяла метод не ниже первого порядка, согласно условиям (4.71) и (4.73), должно быть
α1 = 1, β0 + β1 = 1.
Таким образом, остается лишь одна степень свободы, т.е. на самом деле (4.74)—это однопараметрическое семейство одношаговых методов
yi+1 = yi + h[β0fi+1 + (1 − β0)fi]. |
(4.75) |
При любом значении β0 метод (4.75) точен для многочленов первой степени. Например, при β0 = 0—это явный метод Эйлера, а при β0 = 1—неявный метод Эйлера. Оба они точны, если решением задачи (4.35)-(4.36) является линейная функция.
Попробуем подобрать параметр β0 так,чтобы формула (4.75) была точной для многочленов второй степени, в частности, для функции y(x) ≡ x2. Для этой функции y′ = f(x, y(x)) = 2x, и через i-й узел и шаг h равенство (4.75) записывается так:
(xi + h)2 = x2i + h[β02(xi + h) + (1 − β0)2xi].
После элементарных упрощений в последнем равенстве приходим к значению параметра β0 = 1/2, подстановка которого в (4.75) приводит к методу
h
yi+1 = yi + 2 (fi+1 + fi).
Это метод трапеций (7.15), единственный из семейства методов (4.75) (иначе, единственный из одношаговых методов семейства (4.69)), имеющий второй порядок точности.
Пусть теперь в общей формуле (4.69) m = 2, т.е. будем рассматривать всевозможные
двухшаговые методы этого семейства:
yi+1 = α1yi + α2yi−1 + h(β0fi+1 + β1fi + β2fi−1). |
(4.76) |
Потребуем, чтобы этот метод имел, по меньшей мере, второй порядок точности, т.е. чтобы подстановка в (4.76) вместо yj значений y(xj) для y(x) = x2 оставляла это равенство точным. Учтем, что оно должно быть верным при людом i = 1, 2, 3, . . . , и что, в силу однородности функции—предполагаемого решения y(x) = x2, можно считать i = 1 и, соответственно, x0 = 0, x1 = h, x2 = 2h. В этих точках решение y = x2 принимает значения 0, 2h, 4h. Следовательно, при i = 1 равенство (4.76) приобретает вид
4h2 = α1h2 + 4β0h2 + 2β1h2.
Записав для этого случая еще условия согласованности (4.71), (4.73), получаем систему трех линейных уравнений с пятью неизвестными параметрами:
|
α1 + α2 = 1, |
|
|
|
|
|
β0 + β1 + β2 = α1 + 2α2, |
(4.77) |
|
|
|
|
|
|
|
|
|
|
|
|
|
α1 + 4β0 + 2β1 = 4. |
|
|
|
|
