Вычислительная математика. Ч. 2. Асламова В.С - 23 стр.

UptoLike

45
видно из этой таблицы, самым точным является решение, полученное мето-
дом Рунге-Кутта. Анализ решения с использованием метода Эйлера позволя-
ет проследить рост погрешности с возрастанием х
i
При x=0,1 погрешность
составляет почти 1,81%, при x=10 – 17,90 %. Следовательно, при большом
числе узлов метод Эйлера может привести к заметным погрешностям, и в
таких случаях предпочтительнее пользоваться численными методами высших
порядков точности.
С уменьшением шага h локальная погрешность метода Эйлера снизится,
однако при этом возрастет число узлов, что неблагоприятно повлияет на точ-
ность результ
атов.
Поэтому метод Эйлера применяется сравнительно редко при небольшом
числе расчетных точек. Наиболее употребительным одношаговым методом
является метод Рунге-Кутта.
Рассмотренные методы могут быть использованы также для решения сис-
тем дифференциальных уравнений. Покажем это для случая системы двух
уравнений вида:
).,,(
),,,(
ZYx
dx
dZ
ZYx
dx
dY
ψ
ϕ
=
=
Таблица 1
x
i
Метод
Эйлера
Модифициро-
ванный
метод Эйлера
Метод
Рунге-Кутта
Точное
решение
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.2000
1.4420
1.7384
2.1041
2.5569
3.1183
3.8139
4.6747
5.7376
7.0472
1.2210
1.4923
1.8284
2.2466
2.7680
3.4176
4.2257
5.2288
6.4004
8.0032
1.2221
1.4977
1.8432
2.2783
2.8274
3.5201
4.3927
5.4894
6.8643
8.5834
1.2221
1.4977
1.8432
2.2783
2.8274
3.5202
4.3928
5.4895
6.8645
8.5836
46
Начальное условие зададим в виде:
Y(x
0
) = y
0
, Z(x
0
) = z
0
.
По аналогии с (2.15) запишем формулы Рунге-Кутта для системы двух
уравнений:
y
i+1
= y
i
+ 1/6(k
0
+ 2k
1
+ 2k
2
+ k
3
),
z
i+1
= z
i
+1/6(l
0
+ 2l
1
+ 2l
2
+ l
3
), i = 0, 1, ...., где
k
0
= h
ϕ
(x
i
, y
i
, z
i
),
l
0
= h
ψ
(x
i
, y
i
, z
i
),
k
1
= h
ϕ
(x
i
+ h/2, y
i
+ k
0
/2, z
i
+ l
0
/2),
l
1
= h
ψ
( x
i
+ h/2, y
i
+ k
0
/2, z
i
+ l
0
/2),
k
2
= h
ϕ
(x
i
+ h/2, y
i
+ k
1
/2, z
i
+ l
1
/2),
l
2
= h
ψ
( x
i
+ h/2, y
i
+ k
1
/2, z
i
+ l
1
/2),
k
3
= h
ϕ
(x
i
+ h, y
i
+ k
2
, z
i
+ l
2
),
l
3
= h
ψ
( x
i
+ h, y
i
+ k
2
, z
i
+ l
2
).
К решению систем уравнений сводятся также задачи Коши для уравнения
высших порядков. Например, рассмотрим задачу Коши для уравнения второ-
го порядка:
),,(
2
2
dx
dY
Yxf
dx
Yd
=
,
00
)( yxY
=
,
00
)( zxY
=
.
Введем вторую неизвестную функцию Z(x)=Y'(x). Тогда сформулирован-
ная задача Коши заменяется системой двух обыкновенных дифференциаль-
ных уравнений вида:
.)(,)(
,
),,,(
0000
zxZyxY
Z
dx
dY
ZYxf
dx
dZ
==
=
=
В заключение еще раз отметим особенность одношаговых методов, со-
стоящую в том, что для получения решения в каждом новом расчетном узле
достаточно иметь значение сеточной функции лишь в предыдущем узле. Это
позволяет непосредственно начать счет при i=0 по известным начальным
значениям. Кроме того, указанная особенность допускает изменение шага в
любой точке в процессе сч
ета, что позволяет строить численные алгоритмы с
автоматическим выбором шага.
видно из этой таблицы, самым точным является решение, полученное мето-          Начальное условие зададим в виде:
дом Рунге-Кутта. Анализ решения с использованием метода Эйлера позволя-                                     Y(x0) = y0, Z(x0) = z0.
ет проследить рост погрешности с возрастанием хi При x=0,1 погрешность          По аналогии с (2.15) запишем формулы Рунге-Кутта для системы двух
составляет почти 1,81%, при x=10 – 17,90 %. Следовательно, при большом       уравнений:
числе узлов метод Эйлера может привести к заметным погрешностям, и в                           yi+1 = yi + 1/6(k0 + 2k1 + 2k2 + k3),
таких случаях предпочтительнее пользоваться численными методами высших                         zi+1 = zi +1/6(l0 + 2l1 + 2l2 + l3), i = 0, 1, ...., где
порядков точности.                                                                             k0 = hϕ (xi, yi, zi),
   С уменьшением шага h локальная погрешность метода Эйлера снизится,                          l0 = hψ (xi, yi, zi),
однако при этом возрастет число узлов, что неблагоприятно повлияет на точ-                     k1 = hϕ (xi + h/2, yi + k0/2, zi + l0/2),
ность результатов.                                                                             l1 = hψ ( xi + h/2, yi + k0/2, zi + l0/2),
   Поэтому метод Эйлера применяется сравнительно редко при небольшом                           k2 = hϕ (xi + h/2, yi + k1/2, zi + l1/2),
числе расчетных точек. Наиболее употребительным одношаговым методом
                                                                                               l2 = hψ ( xi + h/2, yi + k1/2, zi + l1/2),
является метод Рунге-Кутта.
                                                                                               k3 = hϕ (xi + h, yi + k2, zi + l2),
   Рассмотренные методы могут быть использованы также для решения сис-
                                                                                               l3 = hψ ( xi + h, yi + k2, zi + l2).
тем дифференциальных уравнений. Покажем это для случая системы двух
                                                                                К решению систем уравнений сводятся также задачи Коши для уравнения
уравнений вида:
                                                                             высших порядков. Например, рассмотрим задачу Коши для уравнения второ-
                               dY
                                   = ϕ ( x, Y , Z ),                         го порядка:
                               dx
                               dZ                                                                          d 2Y               dY ,
                                   = ψ ( x, Y , Z ).                                                           2
                                                                                                                 = f ( x, Y ,     )
                               dx                                                                          dx                 dx
                                                                Таблица 1                              Y ( x0 ) = y 0 , Y ′( x0 ) = z 0 .
       xi         Метод        Модифициро-        Метод          Точное         Введем вторую неизвестную функцию Z(x)=Y'(x). Тогда сформулирован-
                  Эйлера          ванный        Рунге-Кутта      решение     ная задача Коши заменяется системой двух обыкновенных дифференциаль-
                               метод Эйлера                                  ных уравнений вида:
       0.1          1.2000          1.2210          1.2221         1.2221                                dZ
                                                                                                              = f ( x, Y , Z ),
       0.2          1.4420          1.4923          1.4977         1.4977                                dx
                                                                                                         dY
       0.3          1.7384          1.8284          1.8432         1.8432                                     = Z,
                                                                                                         dx
       0.4          2.1041          2.2466          2.2783         2.2783                                Y ( x0 ) = y 0 , Z ( x0 ) = z 0 .
       0.5          2.5569          2.7680          2.8274         2.8274
                                                                                В заключение еще раз отметим особенность одношаговых методов, со-
       0.6          3.1183          3.4176          3.5201         3.5202    стоящую в том, что для получения решения в каждом новом расчетном узле
       0.7          3.8139          4.2257          4.3927         4.3928    достаточно иметь значение сеточной функции лишь в предыдущем узле. Это
       0.8          4.6747          5.2288          5.4894         5.4895    позволяет непосредственно начать счет при i=0 по известным начальным
       0.9          5.7376          6.4004          6.8643         6.8645    значениям. Кроме того, указанная особенность допускает изменение шага в
                                                                             любой точке в процессе счета, что позволяет строить численные алгоритмы с
       1.0          7.0472          8.0032          8.5834         8.5836
                                                                             автоматическим выбором шага.


                                                                       45    46