Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lektsii_VychMat_6-8

.pdf
Скачиваний:
26
Добавлен:
16.04.2015
Размер:
525.59 Кб
Скачать

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*2n

Правило Рунге для оценки

погрешности численных методов

Пусть 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.

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]