Мет выч методичка
.pdf
выходящей из точки (xk; yk).
Неявный метод Эйлера состоит в приближении производной в окрестности i-го узла с помощью левой разности
yi yi 1 |
= fi; i = 0; 1; :::; y0 = A |
h |
|
Очевидно, что в этом методе искомая величина yi входит в уравнение в общем случае нелинейным образом. Поэтому необходимо применять известные методы решения нелинейных уравнений.
Можно показать, что явный и неявный метод – методы первого порядка точности. Т.е., погрешность в точке xi
i = y(xi) yi
равная разности между точным значением искомой функции y(xi) и значением сеточной функции в узле
i . h:
Можно построить другие методы решения задачи Коши. Например, приблизим производную в окрестности i-го узла с помощью
101
центральных разностей: |
|
yi+1 yi 1 |
= fi; i = 0; 1; :::; y0 = A |
2h |
|
Полученная система уравнений не замкнута – необходимо доопределить y1, что можно сделать с помощью метода Эйлера
y1 = y0 + hf(x0; y0):
Можно показать, что построенная схема имеет второй порядок точности.
Рассмотрим модифицированный метод Эйлера. Запишем систему уравнений
yi+1 yi |
= fi+1=2; |
i = 0; 1; :::; |
y0 = A |
||||||||
h |
|
|
|
|
|
|
|
|
|
|
|
где |
|
|
|
|
|
|
h |
|
|
|
|
f |
= f(x |
|
; y |
|
) = f(xi + |
|
; y |
|
); |
||
i+1=2 |
i+1=2 |
|
i+1=2 |
||||||||
i+1=2 |
|
|
|
2 |
|
|
|
||||
102
а значение yi+1=2 вычисляем по методу Эйлера
|
yi+1=2 = yi + |
h |
fi = yi + |
h |
f(xi; yi); i = 0; 1; ::: |
||||||
|
|
||||||||||
|
|
|
|
2 |
2 |
|
|
||||
В результате получаем следующую разностную схему: |
|||||||||||
|
yi+1 yi |
= f(xi + |
h |
; yi + |
h |
f(xi; yi)); |
i = 0; 1; :::; y0 = A |
||||
|
h |
|
|
||||||||
|
2 |
|
|
2 |
|
|
|
|
|||
которая, как можно показать, имеет второй порядок точности.
7.2 Метод Эйлера с пересчетом (предиктор-корректор)
Предиктор – предсказание результата, корректор – уточнение результата. Заменим правую часть нашего уравнения на среднее значений в соседних узлах:
yi+1 yi |
= |
1 |
[f(xi; yi) + f(xi+1; yi+1)] : |
(130) |
|||
|
|
|
|||||
h |
2 |
||||||
|
|
|
|||||
Как видно, наклон интегральной кривой посередине отрезка [xi; xi+1] приближенно заменяется средним арифметическим наклонов на гра-
103
ницах этого отрезка. Отсюда, |
|
|||
yi+1 |
= yi + |
h |
[f(xi; yi) + f(xi+1; yi+1)] : |
(131) |
|
||||
|
2 |
|
|
|
Искомое значение yi+1 входит и в правую сторону тоже, и его нельзя в общем случае выразить явно. Но его можно найти по формуле метода Эйлера:
|
|
|
yi+1 = yi + hf(xi; yi) – предиктор |
(132) |
и подставляя в правую часть, получаем |
|
|||
yi+1 |
= yi + |
h |
[f(xi; yi) + f(xi+1; (yi + hf(xi; yi)))] |
– корректор. |
|
||||
|
2 |
|
(133) |
|
|
|
|
|
|
7.3 Методы Рунге-Кутта
Рассмотренные ранее метод Эйлера и его модификация относятся к классу методов Рунге – Кутта. Суть методов – для вычисления yi+1
104
используется yi, а также значения функции f(x; y) в некоторых специальных точках. Широко распространен метод Рунге-Кутта четвертого порядка. Алгоритм этого метода имеет вид
yi+1 |
= yi + |
h |
(k0 + 2k1 + 2k2 + k3); |
|
i = 0; 1; ::: |
||||||||||
|
|
||||||||||||||
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
h |
|
|
|
hk |
0 |
|
|||
k0 = f(xi; yi); k1 = f xi + |
|
|
; yi |
+ |
|
|
|
||||||||
2 |
2 |
|
|||||||||||||
|
|
|
h |
hk |
|
|
|
|
|
|
|||||
|
k2 = f xi + |
|
; yi + |
|
|
1 |
|
|
|
|
|
|
|||
|
2 |
2 |
|
|
|
|
|
|
|
||||||
k3 = f(xi + h; yi + hk2)
7.4 Многоточечные методы
Многоточечные или многошаговые методы решения задачи Коши отличаются тем, что решение в текущем узле зависит от данных не только в одном предыдущем узле, но и в ряде предшествующих.
105
Такие методы можно строить, используя метод неопределенных коэффициентов. Для этого запишем разностное соотношение для i-
го узла в виде |
|
|
||||
a |
y |
+ a |
y |
+ ::: + amy |
|
|
0 |
i |
1 |
|
i 1 h |
i m |
= b0fi + b1fi 1 + ::: + blfi l: (134) |
|
|
|
|
|||
Коэффициенты ai и bi подбираются так, чтобы получить аппрок-
симацию с нужным порядком точности. Если a0 = a1 |
= 1, a2 = |
|
::: = am = 0, то получаем методы Адамса. Уравнение y0 = f(x; y) |
||
эквивалентно интегральному соотношению |
|
|
xi+1 |
|
|
yi+1 yi = Z |
f dx : |
(135) |
xi
Если решение в узлах вплоть до i-го уже вычислено, то по известным значениям fi = f(xi; yi) можно интерполировать подинтегральную функцию полиномами различной степени. Далее вычисляя интеграл от выбранного интерполяционного полинома, получаем фор-
106
мулы Адамса.
Приближая функцию f на отрезке [xi; xi+1] полиномом в форме
Ньютона |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
f = f + |
fi fi |
|
1 |
(x |
|
x |
)+ |
|
|
|
|
|
|
|
|
h |
|
|
|
|
|
|
|
|
|
||||||
i |
|
|
i |
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
fi 2fi 1 + fi 2 |
(x |
|
x |
)(x |
|
x |
i 1 |
) + ::: (136) |
||
|
|
|
|
|
|
|
2h2 |
|
i |
|
|
|
|||
и учитывая первые два слагаемых при вычислении интеграла, поучаем метод Адамса второго порядка точности
yi+1 yi |
= |
3 |
f |
i |
1 |
f |
i 1 |
: |
(137) |
h |
|
|
|||||||
|
2 |
2 |
|
||||||
Учитывая в (136) три слагаемых приходим к методу третьего порядка точности
yi+1 yi |
= |
|
1 |
(23f |
i |
16f |
i 1 |
+ 5f |
): |
(138) |
|
h |
12 |
||||||||||
|
|
|
i 2 |
|
|||||||
и случае четырех слагаемых в (136) метод Адамса четвертого поряд-
107
ка |
yi |
|
|
|
|
|
|
|
|
|
|
|
|
yi+1 |
= |
|
1 |
(55f |
59f |
+ 37f |
i 2 |
9f |
): |
(139) |
|
|
h |
24 |
||||||||||
|
|
i |
i 1 |
|
i 3 |
|
||||||
Метод Адамса по сравнению с методом Рунге-Кутты требует меньших затрат при нахождении очередного значения yi+1, т.к. требуется найти лишь fi, а fi 1,...,fi 3 уже известны к этому моменту, а по формула Рунге-Кутты на каждом шаге надо находить четыре значения f.
Формулы Рунге-Кутты позволяют проводить вычисления с переменным шагом. Ну и при использовании многошаговых методов может неконтролируемо возрастать погрешность вычислений, т.е. возникать неустойчивость.
108
