Метод Эйлера с последующей итерационной обработкой
Метод Эйлера с пересчетом
При данном подходе рекуррентное соотношение (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+1 – yi+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 производятся аналогично.