ВУЗ:
Составители:
53
3. Одношаговые методы и методы прогноза и коррекции обеспечивают
примерно одинаковую точность результатов. Однако вторые в отличие от
первых позволяют легко оценить погрешность на шаге. По этой причине,
пользуясь одношаговыми методами, величину шага h выбирают несколько
меньше, чем это, строго говоря, необходимо, и поэтому методы прогноза и
коррекции оказываются более эффективными.
4. При
меняя метод Рунге-Кутта четвёртого порядка точности, на каждом
шаге приходится вычислять четыре значения функции, в то время как для
обеспечения сходимости метода прогноза и коррекции того же порядка точ-
ности достаточно двух значений функции. Поэтому методы прогноза и кор-
рекции требуют почти вдвое меньше машинного времени, чем методы Рунге-
Кутта сравни
мой точности.
2.3. Решение систем обыкновенных
дифференциальных уравнений
Математическое описание многих явлений часто сводится к системе диф-
ференциальных уравнений вида
),,,,(
),,,,,(
),,,,,(
21
2122
2111
nnn
n
n
yyyxfy
yyyxfy
yyyxfy
K
LLLLLLLLLL
K
K
=
′
=
′
=
′
(2.31)
с дополнительными (начальными) условиями:
,)(,)(
,)(
00
0
0202
101
nn
yxyyxy
yxy
==
=
L
(2.32)
где х – независимая переменная,
)(,),(),(
21
xyxyxy
n
K
- неизвестные
(искомые) функции.
Наиболее простым методом численного решения системы (2.31) с началь-
ными условиями (2.32) является метод Эйлера, который мы и рассмотрим.
Пусть нам известно решение системы (2.31) в точке х, и необходимо получить
решение в точке x+h, тогда согласно методу Эйлера
)).(,),(),(,()()(
)),(,),(),(,()()(
)),(,),(),(,()()(
21
21222
21111
xyxyxyxhfxyhxy
xyxyxyxhfxyhxy
xyxyxyxhfxyhxy
nnnn
n
n
K
LLLLLLLLLLLLLLLLLLLL
K
K
+=+
+=+
+
=
+
(2.33)
54
Используя начальные условия (2.32), можно последовательно получить
приближённые значения в точках
101
hxx
+
=
,
212
hxx
+
=
,
323
hxx +=
…
Замечание. Дифференциальное уравнение n-го порядка вида:
),,,,,(
)1()( −
′′′
=
nn
yyyyxfy K
(2.34)
с начальными условиями:
)1(
00
)1(
0000
)(,,)(,)(
−−
=
′
=
′
=
nn
yxyyxyyxy K
. (2.35)
сводится к системе уравнений (2.31) и (2.32) с постоянным шагом h.
Блок-схема метода Эйлера для решения систем обыкновенных дифферен-
циальных уравнений представлена на рис 15.
Задание.
Разработайте алгоритм решения системы дифференциальных
уравнений методом Рунге-Кутта.
Начало
ввод X0,
Xk, h, N
i := 1, N
печать
начальных
у
словий
ввод Y0[i]
X0
≤
Xk
Y[1] := F1(X0, Y0)
Y[2] := F2(X0, Y0)
……………………
Y[N] := FN(X0, Y0)
X0 := X0+h
Конец
да
нет
Ввод начальных усло-
вий для каждого
уравнения системы
Расчёт правых
частей диф.
уравнений
Печать X0
i := 1, N
Y0[i] := Y0[i]+h*Y[i]
Печать Y0
[
i
]
Рис.15. Блок- схема метода Эйлера для решения систем
обыкновенных дифференциальных уравнений.
Расчёт
следующих
приближений
3. Одношаговые методы и методы прогноза и коррекции обеспечивают Используя начальные условия (2.32), можно последовательно получить примерно одинаковую точность результатов. Однако вторые в отличие от приближённые значения в точках x 1 = x 0 + h1 , x2 = x1 + h2 , x 3 = x 2 + h3 первых позволяют легко оценить погрешность на шаге. По этой причине, Замечание. Дифференциальное уравнение n-го порядка вида: пользуясь одношаговыми методами, величину шага h выбирают несколько меньше, чем это, строго говоря, необходимо, и поэтому методы прогноза и y ( n ) = f ( x, y, y ′, y ′′,K, y ( n −1) ) (2.34) коррекции оказываются более эффективными. с начальными условиями: 4. Применяя метод Рунге-Кутта четвёртого порядка точности, на каждом y( x0 ) = y0 , y ′ ( x 0 ) = y 0′ , K , y ( n − 1 ) ( x 0 ) = y 0( n − 1 ) . (2.35) шаге приходится вычислять четыре значения функции, в то время как для сводится к системе уравнений (2.31) и (2.32) с постоянным шагом h. обеспечения сходимости метода прогноза и коррекции того же порядка точ- Блок-схема метода Эйлера для решения систем обыкновенных дифферен- ности достаточно двух значений функции. Поэтому методы прогноза и кор- циальных уравнений представлена на рис 15. рекции требуют почти вдвое меньше машинного времени, чем методы Рунге- Задание. Разработайте алгоритм решения системы дифференциальных Кутта сравнимой точности. уравнений методом Рунге-Кутта. Начало 2.3. Решение систем обыкновенных дифференциальных уравнений ввод X0, Математическое описание многих явлений часто сводится к системе диф- Xk, h, N Ввод начальных усло- ференциальных уравнений вида вий для каждого i := 1, N уравнения системы y1′ = f 1 ( x, y1 , y 2 , K , y n ), ввод Y0[i] y 2′ = f 2 ( x, y1 , y 2 , K , y n ), (2.31) LLLLL LLLLL y n′ = f n ( x, y1 , y 2 , K , y n ) печать начальных с дополнительными (начальными) условиями: условий Конец y1 ( x 0 ) = y1 , 0 (2.32) нет y 2 ( x 0 ) = y 2 ,L y n ( x 0 ) = y n , X0≤Xk 0 0 Расчёт правых да где х независимая переменная, y 1 ( x ), y 2 ( x ), K , y n ( x ) - неизвестные частей диф. Y[1] := F1(X0, Y0) уравнений (искомые) функции. Y[2] := F2(X0, Y0) Наиболее простым методом численного решения системы (2.31) с началь- Y[N] := FN(X0, Y0) ными условиями (2.32) является метод Эйлера, который мы и рассмотрим. X0 := X0+h Пусть нам известно решение системы (2.31) в точке х, и необходимо получить Печать X0 решение в точке x+h, тогда согласно методу Эйлера i := 1, N Расчёт y1(x + h) = y1(x) + hf1(x, y1(x), y2 (x),K, yn (x)), следующих Y0[i] := Y0[i]+h*Y[i] приближений y2 (x + h) = y2 (x) + hf2 (x, y1(x), y2 (x),K, yn (x)), (2.33) LLLLLLLLLLLLLLLLLLLL Печать Y0[i] yn (x + h) = yn (x) + hfn (x, y1(x), y2 (x),K, yn (x)). Рис.15. Блок- схема метода Эйлера для решения систем обыкновенных дифференциальных уравнений. 53 54
Страницы
- « первая
- ‹ предыдущая
- …
- 25
- 26
- 27
- 28
- 29
- …
- следующая ›
- последняя »