Метод Эйлера с последующей итерационной обработкой

Метод Эйлера с пересчетом

При данном подходе рекуррентное соотношение (14) видоизменяется, а именно, вместо f(xi, yi) берут среднее арифметическое между f(xi, yi) и f(xi+1, yi+1).

Тогда

(15)

Это неявная схема. Она реализуется в две итерации: сначала находится первое приближение по (14), считая yi начальной

, (16)

затем (16) подставляется в правую часть (15) вместо yi+1

(17)

Геометрическая интерпретация метода:

С помощью метода Эйлера с пересчетом можно производить контроль точности, сравнивая yi+1 и i+1.

На основании этого можно выбирать шаг. Если величина |i+1yi+1| сравнима с заданной точностью e, то шаг можно увеличивать, если больше, то уменьшать, т.е. имеет место схема двойного просчета с оценкой погрешности по величине

» ,

где y(xi) – точное решение в точке х = xi, а yi и y*i приближенные значения, полученные с шагом h и h/2 соответственно

 

Метод Эйлера можно еще более уточнить, применяя итерационную обработку каждого полученного значения yi. А именно, сначала исходя из первого грубого приближения по (16)

,

строят итерационный процесс согласно (15) по следующей схеме

. (18)

Итерации продолжают до тех пор, пока в двух последовательных приближениях , не совпадут соответствующие десятичные знаки и полагают yi+1 » . Как правило, при достаточно малом шаге h, итерации сходятся быстро. Если после трех-четырех итераций не произошло совпадение нужного числа десятичных знаков, то шаг расчетов h уменьшается. После такой обработки значения yi переходят к следующему узлу xi+1.

Пример. По методу Эйлера составить таблицу решения на отрезке [0;1] для уравнения с начальным условием y(0) = 1, выбрав шаг h = 0,2.

Результаты вычислений поместим в таблицу, которая заполняется следующим образом:

i xi yi Dyi Точное у =
1,0000 0,2000 1,0000
0,2 1,2000 0,1733 1,1832
0,4 1,3733 0,1561 1,3416
0,6 1,5294 0,1492 1,4832
0,8 1,6786 0,1451 1,6124
1,0 1,8237   1,7320

В первой строке при i = 0 записывается x0 = 0, y0 = 1,000 и по ним вычисляется f(x0, y0) = 1, а затем Dy0 = hf(x0, y0) = 0,2. Тогда по формуле (14) получаем y1 = 1 + 0,2 = 1,2.

Значения x1 = 0,2 и y1 = 1,2000 записываются во второй строке при i = 1. Используя их можно вычислить

f(x1,y1) = 0,8667; Dy1 = hf(x1,y1) = 0,2×0,8667 = 0,1733.

Тогда y2 = y1 + Dy1 = 1,2 + 0,1733 = 1,3733.

При i = 2,3,4,5 вычисления ведутся аналогично. В последнем столбце таблицы для сравнения помещены значения точного решения.

Из таблицы видно, что абсолютная погрешность для y5 составляет , что составляет 5%.

Замечание. Метод Эйлера легко распространяется на системы дифференциальных уравнений и на ДУ высших порядков при их предварительном приведении к системам ДУ первого порядка.

Рассмотрим систему двух уравнений первого порядка

(19)

с начальными условиями y(x0) = y0 и z(x0) = z0.

Тогда приближенные значения y(xi) » yi и z(xi) » zi вычисляются по формулам

(20)

Пример. Применяя метод Эйлера, составить на отрезке [1;1,5] таблицу значений решения уравнения

(21)

с начальными условиями y(1) = 0,77 и y'(1) = –0,44, выбрав шаг h = 0,1.

Решение. Заменим уравнение (21) посредством подстановки y' = z, y" =z' системой уравнений первого порядка

с начальными условиями y(1) = 0,77 и z(1) = –0,44. Таким образом, имеем

Результаты вычисления по формулам (20) записаны в таблице

i xi yi DYi f1i = zi Dzi
1,0 1,1 1,2 1,3 1,4 1,5 0,77 0,726 0,679 0,629 0,576 0,521 –0,044 –0,047 –0,050 –0,053 –0,055 –0,44 –0,473 –0,503 –0,529 –0,551 –0,033 –0,030 –0,026 –0,022 –0,33 –0,296 –0,260 –0,222

 

Таблица заполняется следующим образом. Записываем в первой строке i = 0, x0=1,0; y0 = 0,77; z0 = –0,44.

Далее находим

Используя формулы (20) получаем

Таким образом, во второй строке таблицы мы можем записать i = 1; x1 = 1,1; y1 = 0,726; z1 = –0,473. По этим значениям находим

И, следовательно,

Заполнение таблицы при i =2, 3, 4, 5 производятся аналогично.