ВУЗ:
Составители:
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
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »