
Lektsii_VychMat_6-8
.pdf
2-я модификация метода Эйлера
|
|
|||||
|
|
|
|
|
||
Другая модификация даётся формулой: |
||||||
yi+1 = yi + Dyi , |
|
|||||
где |
|
|
|
|
|
|
|
|
|
|
|
|
|
æ |
|
h |
h |
ö |
||
Dyi = h × f ç xi + |
2 |
, yi + |
2 |
× f (xi , yi |
)÷ , |
|
è |
|
|
|
|
|
ø |
i = 0,1,...(n -1) . |
|
(графическая иллюстрация – также самостоятельно!).

Действуя, как и ранее, можно показать, что в
общем случае погрешность каждой из этих модификаций метода Эйлера – бесконечно
малая порядка h2 при h ® 0 (при этом очевидно, что объём вычислений – в 2 раза больше, чем в обычном методе Эйлера).
Ещё более высокий порядок точности (4-й) обеспечивает следующий метод РунгеКутта, который также представляет дальнейшую модификацию метода Эйлера.

Метод Рунге-Кутта 4-го порядка
В соответствии с этим методом значения yi |
|||||||||
|
|||||||||
|
|
|
|
||||||
ищутся по формуле: |
|||||||||
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Как видим, объём вычислений – примерно в 4 раза больше, чем у метода Эйлера, зато
погрешность - бесконечно малая порядка h4 при h ® 0 .
В настоящее время метод Рунге-Кутта получил весьма широкое распространение (в частности, он реализован в системе
MathCAD).

Martin Wilhelm Kutta
|
|
|
1867-1944 |
|
|
|
Правило Рунге для оценки
погрешности численных методов
Пусть y (x) - точное решение задачи Коши, а yn - приближённое значение y(xn) ,
полученное каким-то из рассмотренных
численных методов при выбранном шаге h
(xn = x0 + n·h).
Уменьшим шаг в 2 раза: h* = ½ h - и найдём - приближённое значение решения в же точке xn = x*2n = x0 + 2n·h*.
Будем считать, что погрешность
где
Тогда
y(xn )- yn = C ×hm +a(h) ,
m = 1 – для метода Эйлера, m = 2 – для |
|||||
1-ой и 2-ой модификаций |
метода Эйлера, |
||||
m = 4 – для метода Рунге-Кутта, |
|||||
a(h) – бесконечно малая порядка выше |
|||||
|
|
|
|
||
hm при h ® 0. |
|
|
|
||
y(xn )- y2*n = C ×( |
h |
)m +a( |
h |
) , |
|
|
|
||||
2 |
|
2 |
|
||
|
Вычитая из первого равенства второе, получим:
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y2*n - yn = C ×( |
h |
)m ×(2m -1)+a(h)-a( |
h |
) . |
|||||||||
2 |
2 |
||||||||||||
Отсюда: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* |
|
|
h |
||||||
|
C ×( |
h |
)m = |
|
y2n - yn -a(h)+a( |
2 |
) |
. |
|||||
|
2 |
|
|
|
|
||||||||
|
|
|
|
|
|
|
2m -1 |
|
|
|
|
|
|
Таким образом, |
|
|
|
|
|
|
|||||||
|
y(xn )- y2*n = |
y2*n - yn |
+ b (h), |
||||||||||
|
2m -1 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
где

b (h)= |
2m ×a( |
h |
)-a(h) |
|
2 |
||||
|
|
|
|
|
|
||||
|
2m -1 |
- бесконечно малая порядка выше hm при h ® 0.
|
|
|
Пренебрегая этой величиной, можно |
||
приближённо записать: |
||
* |
y2*n - yn |
|
y(xn )- y2n » |
|
. |
2m -1 |
Пример алгоритма
Пусть требуется найти приближённое |
|
|
|
|
|
|
|
x |
|
решение задачи Коши (1)-(2) в точке |
|
|
= x0 + L , с абсолютной погрешностью, не |
|
|
превышающей e , с помощью 1-ой |
|
|
модификации метода Эйлера. |
|
Положим e1 = 3×e и возьмём n = 10. |
|
|
1) |
Вычислить h = L / n. |
|
2) |
Положить x = x0 . |
|
3) |
Положить y = y0 . |
|
4) |
Положить i = 0. |
|