10
0
2
0,1 ,
0
0,8
y
x
y
y
Метод РУНГЕ-КУТТА
Заданную задачу Коши можно решить с любой заранее заданной
точностью ε. Для повышения точности достаточно умножить количество
шагов n. Для этого воспользуемся следующими формулами:
𝑅 = 𝑂(ℎ
5
) = 𝜀; (
𝑏−𝑥
0
𝑛
)
5
= 𝜀 ⟹ 𝑛 ≈ √
𝑏−𝑥
0
𝜀
5
Шаг деления определяется по формуле
ℎ =
𝑏−𝑥
0
𝑛
, как в методе Эйлера.
Формулы нахождения значений искомой функции будут выглядеть
следующим образом:
{
𝐾
1
= ℎ ∙ 𝑓(𝑥
𝑖
, 𝑦
𝑖
)
𝐾
2
= ℎ ∙ 𝑓 (𝑥
𝑖
+
ℎ
2
, 𝑦
𝑖
+
𝐾
1
2
)
𝐾
3
= ℎ ∙ 𝑓 (𝑥
𝑖
+
ℎ
2
, 𝑦
𝑖
+
𝐾
2
2
)
𝐾
4
= ℎ ∙ 𝑓(𝑥
𝑖
+ ℎ, 𝑦
𝑖
+ 𝐾
3
)
𝑦
𝑖+1
= 𝑦
𝑖
+
1
6
(𝐾
1
+ 2𝐾
2
+ 2𝐾
3
+ 𝐾
4
) ;
𝑖 = 0,1,2, … , 𝑛 − 1
.
РЕШЕНИЕ 0-ВАРИАНТА
Найти методом Рунге-Кутта приближенные значение решение задачи
Коши на интервале (1,2) c точностью
𝜀
=0.0005
2
,
1
2 .
y
x
y
y
1.
Студента должен найти и написать информацию о методе Рунге-Кутта.
2.
Решение аналитическим методом:
2
,
1
2 .
y
x
y
y
0
x
d y
y
y
y
y
dx
y
C e
y
.
Общее решение данного уравнения ищем по виду
x
y
C x e
, тогда
.
x
x
y
C
x e
x e
Ставим их в заданное уравнение:
2
.
x
x
x
C
x e
C x e
C x e
x
2
2
2
2
2
2
C .
x
x
x
x
x
x
C
x e
x
C
x
x e
C x
x e
d x
C
C x
x e
xe
e
Общее решение :
2
2
2.
x
y
C e
x
x
Частное решение:
1
2
7
2
2.
x
y
e
x
x
Метод Рунге-Кутта
.
𝜀
=0.0005
𝑛 ≈ √
𝑏−𝑥
0
𝜀
5
= √
2−1
0.0005
5
= √2000
5
= 4.57 ⟹ 𝑛 = 5
.
Тогда найдем оптимальное решение шагом
ℎ =
𝑏−𝑥
0
𝑛
=
2−1
5
= 0.2
:
{
𝐾
1
= ℎ ∙ 𝑓(𝑥
0
, 𝑦
0
) = 0.2 ∗ (1
2
+ 2) = 0.6
𝐾
2
= ℎ ∙ 𝑓 (𝑥
0
+
ℎ
2
, 𝑦
0
+
𝐾
1
2
) = 0.2 ∗ ((1 +
0.2
2
)
2
+ 2 +
0.6
2
) = 0.702
𝐾
3
= ℎ ∙ 𝑓 (𝑥
0
+
ℎ
2
, 𝑦
0
+
𝐾
2
2
) = 0.2 ∗ ((1 +
0.2
2
)
2
+ 2 +
0.702
2
) = 0.7122
𝐾
4
= ℎ ∙ 𝑓(𝑥
0
+ ℎ, 𝑦
0
+ 𝐾
3
) = 0.2 ∗ ((1 + 0.2)
2
+ 2 + 0.7122) = 0.83044
𝑦
1
= 𝑦
0
+
1
6
(𝐾
1
+ 2𝐾
2
+ 2𝐾
3
+ 𝐾
4
) = 2 +
1
6
(0.6 + 2 ∗ 0.702 + 2 ∗ 0.7122 + 0.83044) =
= 2.71 ;
{
𝐾
1
= ℎ ∙ 𝑓(𝑥
1
, 𝑦
1
) = 0.2 ∗ (1.2
2
+ 2.71) = 0.83
𝐾
2
= ℎ ∙ 𝑓 (𝑥
1
+
ℎ
2
, 𝑦
1
+
𝐾
1
2
) = 0.2 ∗ ((1.2 +
0.2
2
)
2
+ 2.71 +
0.83
2
) = 0.963
𝐾
3
= ℎ ∙ 𝑓 (𝑥
1
+
ℎ
2
, 𝑦
1
+
𝐾
2
2
) = 0.2 ∗ ((1.2 +
0.2
2
)
2
+ 2.71 +
0.963
2
) = 0.9763
𝐾
4
= ℎ ∙ 𝑓(𝑥
1
+ ℎ, 𝑦
1
+ 𝐾
3
) = 0.2 ∗ ((1.2 + 0.2)
2
+ 2.71 + 0.9763) = 1.129
𝑦
2
= 𝑦
1
+
1
6
(𝐾
1
+ 2𝐾
2
+ 2𝐾
3
+ 𝐾
4
) = 2.71 +
1
6
(0.83 + 2 ∗ 0.963 + 2 ∗ 0.9763 + 1.129) =
= 3.683 ;
{
𝐾
1
= ℎ ∙ 𝑓(𝑥
2
, 𝑦
2
) = 0.2 ∗ (1.4
2
+ 3.683) = 1.1286
𝐾
2
= ℎ ∙ 𝑓 (𝑥
2
+
ℎ
2
, 𝑦
2
+
𝐾
1
2
) = 0.2 ∗ ((1.4 +
0.2
2
)
2
+ 3.683 +
1.1286
2
) = 1.299
𝐾
3
= ℎ ∙ 𝑓 (𝑥
2
+
ℎ
2
, 𝑦
2
+
𝐾
2
2
) = 0.2 ∗ ((1.4 +
0.2
2
)
2
+ 3.683 +
1.299
2
) = 1.3165
𝐾
4
= ℎ ∙ 𝑓(𝑥
2
+ ℎ, 𝑦
2
+ 𝐾
3
) = 0.2 ∗ ((1.4 + 0.2)
2
+ 3.683 + 1.3165) = 1.4499
𝑦
3
= 𝑦
2
+
1
6
(𝐾
1
+ 2𝐾
2
+ 2𝐾
3
+ 𝐾
4
) = 3.683 +
1
6
(1.1286 + 2 ∗ 1.299 + 2 ∗ 1.3165 + 1.4499) =
= 4.985;
{
𝐾
1
= ℎ ∙ 𝑓(𝑥
3
, 𝑦
3
) = 0.2 ∗ (1.6
2
+ 4.985) = 1.509
𝐾
2
= ℎ ∙ 𝑓 (𝑥
3
+
ℎ
2
, 𝑦
3
+
𝐾
1
2
) = 0.2 ∗ ((1.6 +
0.2
2
)
2
+ 4.985 +
1.509
2
) = 1.7259
𝐾
3
= ℎ ∙ 𝑓 (𝑥
3
+
ℎ
2
, 𝑦
3
+
𝐾
2
2
) = 0.2 ∗ ((1.6 +
0.2
2
)
2
+ 4.985 +
1.7259
2
) = 1.7476
𝐾
4
= ℎ ∙ 𝑓(𝑥
3
+ ℎ, 𝑦
3
+ 𝐾
3
) = 0.2 ∗ ((1.6 + 0.2)
2
+ 4.985 + 1.7476) = 1.9945
𝑦
4
= 𝑦
3
+
1
6
(𝐾
1
+ 2𝐾
2
+ 2𝐾
3
+ 𝐾
4
) = 4.985 +
1
6
(1.509 + 2 ∗ 1.7259 + 2 ∗ 1.7476 + 1.9945) =
= 6.727 ;
{
𝐾
1
= ℎ ∙ 𝑓(𝑥
4
, 𝑦
4
) = 0.2 ∗ (1.8
2
+ 6.727) = 1.9934
𝐾
2
= ℎ ∙ 𝑓 (𝑥
4
+
ℎ
2
, 𝑦
4
+
𝐾
1
2
) = 0.2 ∗ ((1.8 +
0.2
2
)
2
+ 6.727 +
1.9934
2
) = 2.267
𝐾
3
= ℎ ∙ 𝑓 (𝑥
4
+
ℎ
2
, 𝑦
4
+
𝐾
2
2
) = 0.2 ∗ ((1.8 +
0.2
2
)
2
+ 6.727 +
2.267
2
) = 2.2941
𝐾
4
= ℎ ∙ 𝑓(𝑥
4
+ ℎ, 𝑦
4
+ 𝐾
3
) = 0.2 ∗ ((1.8 + 0.2)
2
+ 6.727 + 2.2941) = 2.604
𝑦
5
= 𝑦
4
+
1
6
(𝐾
1
+ 2𝐾
2
+ 2𝐾
3
+ 𝐾
4
) = 6.727 +
1
6
(1.9934 + 2 ∗ 2.267 + 2 ∗ 2.2941 + 2.604) =
= 9.0136 ;
Таким образом, решение дифференциального уравнения в методе Рунге-
Кутты имеет вид таблицы:
𝑥
𝑖
1
1.2
1.4
1.6
1.8
2.0
𝑦
𝑖
2
2.71
3.683
4.985
6.727
9.0136
3.
Выполнять вспомогательные вычисления в пакете программ Excel!
4.
Дифференциальное уравнение решаем пакетом математических
программ WolframAlpha и прилогаем скриншоты этих программных
решений:
5.
Рисуем график аналитического решения с помощью программы
GeoGebra и размещаем на этот график приближенные значения,
найденные методом Рунге-Кутты. Удостоверимся, что приближенно
найденные точки и график аналитического решения почти совпадают.
6.
Самостоятельно составить программу приближенного решения
дифференциального уравнения методом Рунге-Кутта. (выбор языка
программирования произвольный).
Величины, вводимые в программу: - это начало, конец интервала,
условие Коши и ε-точность.
Do'stlaringiz bilan baham: |