ВУЗ:
Составители:
47
Задание. Разработайте блок-схему алгоритма решения системы обыкно-
венных дифференциальных уравнений методом Рунге-Кутта 4-го порядка
точности.
2.2. Многошаговые методы
Суть построения разностных схем многошаговыми методами основана на
том, что для вычисления значения y
i+1
используются результаты не одного, а
k предыдущих шагов, т. е. значения y
i-k+1
, y
i-k+2
, ..., y
i
. В этом случае получает-
ся k-шаговый метод.
Многошаговые методы могут быть построены следующим образом. За-
пишем исходное уравнение в виде:
dY(x) = f(x, Y)dx. (2.16)
Проинтегрируем обе части этого уравнения по х на отрезке [x
i
, x
i+1
]. Инте-
грал от левой части легко вычисляется:
∫
+
−=−=
++
1
11
)()()(
i
i
x
x
iiii
yyxYxYxdY
. (2.17)
Для вычисления интеграла от правой части уравнения (2.16) сначала стро-
ится интерполяционный многочлен Р
k-1
(x) степени k-1 для аппроксимации
функции f(x, Y) на отрезке [x
i
, x
i+1
] по значениям f(x
i-k+1
, y
i-k+1
), f(x
i-k+2
, y
i-k+2
), ...,
f(x
i
, y
i
). После этого можно записать:
∫∫
++
−
≈
11
)(),(
1
i
i
i
i
x
x
k
x
x
dxxPdxYxf
. (2.18)
Приравнивая выражения, полученные в (2.17) и (2.18), можно получить
приближенную формулу для определения неизвестного значения сеточной
функции y
i+1
в узле x
i+1
:
∫
+
−+
+=
1
)(
11
i
i
x
x
kii
dxxPyy
. (2.19)
На основе этой формулы можно строить различные многошаговые методы
любого порядка точности. Порядок точности зависит от степени интерполя-
ционного многочлена Р
k-1
(x), для построения которого используются значе-
ния сеточной функции y
i
, y
i-1
, ..., y
i-k+1
вычисленные на k предыдущих шагах.
2.2.1. Методы прогноза и коррекции
В этих методах для вычисления положения новой точки используется ин-
формация о нескольких ранее полученных точках. Для этого применяются
две формулы, называемые соответственно формулами прогноза и коррекции.
48
Схемы алгоритмов для всех таких методов одинаковы, а сами методы отли-
чаются лишь формулами. Пусть дифференциальное уравнение задано в виде
(2.3).
Так как в рассматриваемых методах используется информация о несколь-
ких ранее полученных точках, то в отличие от одношаговых методов они не
обладают свойством «самостартования». Поэтому, прежде чем применять
метод прогноза и коррекц
ии, приходится вычислять исходные данные с по-
мощью какого-либо одношагового метода. Часто для этого прибегают к ме-
тоду Рунге-Кутта.
Вычисления производят следующим образом. Сначала по формуле про-
гноза и исходным значениям переменных определяют значение сеточной
функции. Верхний индекс 0 означает, что прогнозируемое значение является
одним из последовательности значений y
i+1
, располагающихся в порядке воз-
растания точности. По прогнозируемому значению y
0
i+1
с помощью приве-
дённого выше дифференциального уравнения находят производную
(y
0
i+1
)
′
=f(x
i+1
, y
0
i+1
),
которая затем подставляется в формулу коррекции для вычисления уточнён-
ного значения
1
1
+
+
j
i
y
. В свою очередь
1
1
+
+
j
i
y
используется для получения более
точного значения производной с помощью дифференциального уравнения
),()'(
1
11
1
1
+
++
+
+
=
j
ii
j
i
yxfy
.
Если это значение производной не достаточно близко к предыдущему, то
оно подставляется в формулу коррекции и итерационный процесс продолжа-
ется. Если же производная изменяется в допустимых пределах, то значение
)'(
1
1
+
+
j
i
y
используется для вычисления окончательного значения y
i+1
, которое
и выдаётся на печать. После этого процесс повторяется – делается следую-
щий шаг, на котором вычисляется y
i+2
.
Обычно при выводе формул прогноза и коррекции решение уравнения
рассматривают как процесс приближённого интегрирования, а сами формулы
получают с помощью конечно-разностных методов.
Если дифференциальное уравнение y’(х)=f(x,y) проинтегрировано в интер-
вале значений от x
i
до x
i+1
, то результат примет вид
∫
+
=−
+
1
),()()(
1
i
i
x
x
ii
dxyxfxyxy
.
Этот интеграл нельзя вычислить непосредственно, так как зависимость
y(x) заранее неизвестна. Приближённое значение интеграла можно найти с
помощью одного из конечно-разностных методов. На этапе прогноза можно
использовать любую формулу численного интегрирования, если в неё не вхо-
дит предварительное значение y’(x
i+1
).
Задание. Разработайте блок-схему алгоритма решения системы обыкно- Схемы алгоритмов для всех таких методов одинаковы, а сами методы отли- венных дифференциальных уравнений методом Рунге-Кутта 4-го порядка чаются лишь формулами. Пусть дифференциальное уравнение задано в виде точности. (2.3). Так как в рассматриваемых методах используется информация о несколь- 2.2. Многошаговые методы ких ранее полученных точках, то в отличие от одношаговых методов они не Суть построения разностных схем многошаговыми методами основана на обладают свойством «самостартования». Поэтому, прежде чем применять том, что для вычисления значения yi+1 используются результаты не одного, а метод прогноза и коррекции, приходится вычислять исходные данные с по- k предыдущих шагов, т. е. значения yi-k+1, yi-k+2, ..., yi. В этом случае получает- мощью какого-либо одношагового метода. Часто для этого прибегают к ме- ся k-шаговый метод. тоду Рунге-Кутта. Многошаговые методы могут быть построены следующим образом. За- Вычисления производят следующим образом. Сначала по формуле про- гноза и исходным значениям переменных определяют значение сеточной пишем исходное уравнение в виде: функции. Верхний индекс 0 означает, что прогнозируемое значение является dY(x) = f(x, Y)dx. (2.16) одним из последовательности значений yi+1, располагающихся в порядке воз- Проинтегрируем обе части этого уравнения по х на отрезке [xi, xi+1]. Инте- растания точности. По прогнозируемому значению y0i+1 с помощью приве- грал от левой части легко вычисляется: дённого выше дифференциального уравнения находят производную xi +1 (y0i+1)′=f(xi+1, y0i+1), ∫ dY ( x) = Y ( x i +1 ) − Y ( xi ) = yi+1 − yi . (2.17) которая затем подставляется в формулу коррекции для вычисления уточнён- xi ного значения y i j++11 . В свою очередь y i j++11 используется для получения более Для вычисления интеграла от правой части уравнения (2.16) сначала стро- точного значения производной с помощью дифференциального уравнения ится интерполяционный многочлен Рk-1(x) степени k-1 для аппроксимации ( y i j++11 )' = f ( xi +1 , yi j++11 ) . функции f(x, Y) на отрезке [xi, xi+1] по значениям f(xi-k+1, yi-k+1), f(xi-k+2, yi-k+2), ..., Если это значение производной не достаточно близко к предыдущему, то f(xi, yi). После этого можно записать: оно подставляется в формулу коррекции и итерационный процесс продолжа- x i +1 x i +1 ется. Если же производная изменяется в допустимых пределах, то значение ∫ xi f ( x , Y ) dx ≈ ∫ Pk −1 ( x ) dx . xi (2.18) ( y i j++11 )' используется для вычисления окончательного значения yi+1, которое и выдаётся на печать. После этого процесс повторяется делается следую- Приравнивая выражения, полученные в (2.17) и (2.18), можно получить щий шаг, на котором вычисляется yi+2. приближенную формулу для определения неизвестного значения сеточной Обычно при выводе формул прогноза и коррекции решение уравнения функции yi+1 в узле xi+1: рассматривают как процесс приближённого интегрирования, а сами формулы xi +1 получают с помощью конечно-разностных методов. yi +1 = yi + ∫ Pk −1 ( x)dx . Если дифференциальное уравнение y(х)=f(x,y) проинтегрировано в интер- (2.19) xi вале значений от xi до xi+1, то результат примет вид xi +1 На основе этой формулы можно строить различные многошаговые методы любого порядка точности. Порядок точности зависит от степени интерполя- y ( x i +1 ) − y ( x i ) = ∫ xi f ( x , y ) dx . ционного многочлена Рk-1(x), для построения которого используются значе- Этот интеграл нельзя вычислить непосредственно, так как зависимость ния сеточной функции yi, yi-1, ..., yi-k+1 вычисленные на k предыдущих шагах. y(x) заранее неизвестна. Приближённое значение интеграла можно найти с помощью одного из конечно-разностных методов. На этапе прогноза можно использовать любую формулу численного интегрирования, если в неё не вхо- 2.2.1. Методы прогноза и коррекции дит предварительное значение y(xi+1). В этих методах для вычисления положения новой точки используется ин- формация о нескольких ранее полученных точках. Для этого применяются две формулы, называемые соответственно формулами прогноза и коррекции. 47 48
Страницы
- « первая
- ‹ предыдущая
- …
- 22
- 23
- 24
- 25
- 26
- …
- следующая ›
- последняя »