Основы вычислительной математики. Выпуск 5. Ширапов Д.Ш - 7 стр.

UptoLike

Рубрика: 

13
ны многошаговые методы, которые для вычисления значения решения
y
i+1
используют значения решения не в одной точке y
i
, как это делается
в одношаговых методах, а в нескольких предыдущих точках y
i
, y
i-1
,
y
i-
2
,…, y
i-k+1
. Здесь рассмотрим два многошаговых методовметоды Адамса
и Милна.
Имеем дифференциальное уравнение
y ' =f(x, y) (6.1)
с начальным условием
у(х
0
)=у
0
. (6.2)
Пусть х
i
( i =0, 1, 2, . . . ) система равноотстоящих значений с шагом h и
у
i
=у(х
i
).
Очевидно, что
dx.yy
1i
i
x
x
'
i
+
= (6.3)
В силу второй интерполяционной формулы Ньютона с
точностью до разностей четвертого порядка получаем
'
3i
3'
2i
2'
1i
'
i
y
!3
)2q)(1q(q
y
!2
)1q(q
yqy'y
++
+
+
+= ,
где q=(x-x
i
)/h.
Подставляя полученное
'
y в (6.3) и учитывая, что dx = hdq получим
)dq.yД
6
2q3qq
y
2
qq
yq(yhy
'
3i
3
23
1
0
'
2-i
2
2
'
1-i
'
ii
++
+
+
++=
Отсюда получаем экстраполяционную формулу Адамса
).(hyД
8
3
)(hyД
12
5
)Д(hy
2
1
hyДy
'
3i
3'
2i
2'
1i
'
ii
+++=
(6.4)
Для того, чтобы использовать формулу (6.4) нужны 4 начальных
значения: у
0
, у
1
, у
2
, у
3
, так называемый «начальный отрезок», который
определяют исходя из начального условия (6.2), каким-нибудь численным
методом. Зная у
0
, у
1
, у
2
, у
3
из (6.1) можно найти производные
'
3
'
2
'
1
'
0
у,у,у,у и составить таблицу разностей:
)(hyД),(hyД),(hyД),Д(hy),Д(hy),Д(hy
'
0
3'
1
2'
0
2'
2
'
1
'
0
. (6.5)
14
Дальнейшие значения у
i
(i=4,5, . . .) искомого решения можно
вычислить по формуле (6.4), пополняя по мере необходимости таблицу
разностей (6.5).
Для контроля рекомендуется, вычислив первое приближение для
(1)
i
i
Дyу по формуле (6.4) определить у
i+1
=y
i
+
)1(
i
y , подсчитать ко-
нечные разности
)(hyД),(hyД),Д(hy
'
2-i
3'
1-i
2'
i
(6.6)
и затем найти второе приближение по более точной формуле
).(hyД
24
1
)(hyД
12
1
)Д(hy
2
1
hyДy
'
2i
3'
1i
2'
i
'
i
2
i
+= (6.7)
Если
)1(
i
y и
)2(
i
y отличаются с требуемой точностью, то можно поло-
жить
(2)
i
i
Дyу = , а затем найдя у
i+1
=y
i
+y
i
, перевычислить конечные
разности (6.6). После этого, следует снова найти y
i
по (6.7).
Если расхождение величин
)1(
i
y и
)2(
i
y значительно, то необхо-
димо уменьшить шаг h. Обычно шаг уменьшают в два раза.
7. Метод Милна
Одним из наиболее простых и практически удобных методов чис-
ленного решения дифференциальных уравнений является метод Милна.
Пусть дано уравнение
y
'
= f(x, y) (7.1)
с начальным условием
y(x
0
)=y
0
(7.2)
Выбрав, шаг h положим
x
i
=x
0
+ ih, y
i
= y(x
i
), )y,x(fy
ii
'
i
= (i = 0, 1, 2, …).
Первые 4 значения начального отрезка y
0
, y
1
, y
2
, y
3
находим, применив
метод Рунге-Кутта. Тем самым будут известны
'
i
y (i = 0, 1, 2, 3).
Дальнейшие значения y
i
= y(x
i
) (i = 4, 5, 6, …) определяются по
следующей схеме:
1) вычисляем первое приближение
)1(
i
y по формуле
)2yy(2y
3
4h
yy
'
1i
'
2i
'
3i4i
(1)
i
++= (i = 4, 5, 6, …) (7.3)
2) значение
)1(
i
y подставляем в (7.1.) и определяем );y,x(fy
)1(
i
1
)1('
i
=
                                                   13                                                                                14



ны многошаговые методы, которые для вычисления значения решения                                Дальнейшие значения уi     (i=4,5, . . .) искомого решения можно
yi+1 используют значения решения не в одной точке yi , как это делается                  вычислить по формуле (6.4), пополняя по мере необходимости таблицу
в одношаговых методах, а в нескольких предыдущих точках yi, yi-1, yi-                    разностей (6.5).
2,…, yi-k+1 . Здесь рассмотрим два многошаговых методов – методы Адамса                        Для контроля рекомендуется, вычислив первое приближение для
и Милна.                                                                                 ∆у i ≈ Дy i(1) по формуле (6.4) определить уi+1=yi+ ∆y i(1) , подсчитать ко-
Имеем дифференциальное уравнение
y ' =f(x, y)                                                      (6.1)                  нечные разности
с начальным условием                                                                     Д(hy i' ), Д 2 (hy i' -1 ), Д 3 (hy i' -2 )                      (6.6)
у(х0)=у0 .                                                        (6.2)                  и затем найти второе приближение по более точной формуле
Пусть хi ( i =0, 1, 2, . . . ) система равноотстоящих значений с шагом h и                                1                 1          1 3
уi =у(хi ).                                                                              Дy i2 = hy i' + Д(hy i' ) − Д 2 (hy i' −1 ) −    Д (hy i' − 2 ). (6.7)
                                                                                                          2                12          24
Очевидно, что
        x i +1                                                                           Если ∆y i(1) и ∆yi( 2) отличаются с требуемой точностью, то можно поло-
         ∫ y dx.
                 '
∆yi =                                                                          (6.3)     жить     ∆у i = Дy i(2) , а затем найдя уi+1=yi+∆yi , перевычислить конечные
         xi
                                                                                         разности (6.6). После этого, следует снова найти ∆yi по (6.7).
В силу второй интерполяционной формулы Ньютона с                                                 Если расхождение величин ∆y i(1) и ∆yi( 2)           значительно, то необхо-
точностью до разностей четвертого порядка получаем                                       димо уменьшить шаг h. Обычно шаг уменьшают в два раза.
                       q (q + 1) 2 '       q(q + 1)(q + 2) 3 '
 y' = yi' − q∆yi' −1 +          ∆ yi − 2 +                ∆ yi − 3 ,                                                         7. Метод Милна
                           2!                     3!
                                                                                                 Одним из наиболее простых и практически удобных методов чис-
                                                                                         ленного решения дифференциальных уравнений является метод Милна.
где q=(x-xi)/h.                                                                                  Пусть дано уравнение
      Подставляя полученное y ' в (6.3) и учитывая, что dx = hdq получим                 y' = f(x, y)                                                       (7.1)
            1                                                                            с начальным условием
                                q2 + q 2 '      q 3 + 3q 2 + 2q 3 '
           ∫
∆y i = h (y i' + q∆y i' -1 +
            0
                                  2
                                      ∆ y i-2 +
                                                       6
                                                               Д y i −3 )dq.             y(x0)=y0
                                                                                         Выбрав, шаг h положим
                                                                                                                                                            (7.2)

Отсюда получаем экстраполяционную формулу Адамса                                         xi=x0 + ih, yi = y(xi), y i' = f ( x i , y i ) (i = 0, 1, 2, …).
                   1             5              3                                        Первые 4 значения начального отрезка y0, y1, y2, y3 находим, применив
Дy i = hy i' + Д(hy i' −1 ) + Д 2 (hy i' − 2 ) + Д 3 (hy i' −3 ).   (6.4)
                    2           12              8                                        метод Рунге-Кутта. Тем самым будут известны y i' (i = 0, 1, 2, 3).
          Для того, чтобы использовать формулу (6.4) нужны 4 начальных                           Дальнейшие значения yi = y(xi) (i = 4, 5, 6, …) определяются по
значения: у0 , у1 , у2 , у3 , так называемый «начальный отрезок», который                следующей схеме:
определяют исходя из начального условия (6.2), каким-нибудь численным
                                                                                         1) вычисляем первое приближение yi(1) по формуле
методом. Зная             у0 , у1 , у2 , у3 из (6.1) можно найти производные
   '    '     '     '                                                                                        4h
 у 0 , у1 , у 2 , у 3 и составить таблицу разностей:                                            yi(1) = yi − 4 +(2yi' −3 − yi' − 2 + 2yi' −1 ) (i = 4, 5, 6, …)          (7.3)
                                                                                                              3
Д(hy '0 ), Д(hy1' ), Д(hy '2 ), Д 2 (hy '0 ), Д 2 (hy1' ), Д 3 (hy '0 ) .        (6.5)
                                                                                         2) значение yi(1) подставляем в (7.1.) и определяем y i'(1) = f ( x1 , y i(1) );