Явный и неявный метод Эйлера: устойчивость и выбор шага

Явный и неявный метод Эйлера - две простейшие одношаговые схемы численного решения задачи Коши для обыкновенного дифференциального уравнения. Обе используют один и тот же наклон и дают глобальную погрешность , но различаются тем, в какой точке шага этот наклон берётся: явный (прямой) метод Эйлера опирается на наклон в начале отрезка, неявный (обратный) - на наклон в его конце. Это, казалось бы, мелкое различие радикально меняет устойчивость схемы, и именно оно объясняет, почему на жёстких уравнениях явный метод «взрывается», а неявный спокойно считает с крупным шагом.
Постановка задачи Коши и сетка
Решаем задачу Коши: дано уравнение первого порядка и начальное условие . Когда аналитической первообразной нет, решение строят по точкам. Вводят равномерную сетку с шагом : узлы , и ищут приближения . Любая одношаговая схема даёт правило перехода от к ; вопрос лишь в том, какой наклон и в какой точке использовать для приращения за шаг.
Метод Эйлера - самый прямой ответ: заменим производную в точке разностным отношением и продлим наклон на весь шаг. В зависимости от того, в каком узле вычисляется правая часть, получаются две разные схемы. Та же развилка «вперёд или назад» лежит в основе разностных схем для краевых задач.
Tool: один шаг явного и неявного метода Эйлера
Считать шаги вручную и для прямой, и для обратной схемы - особенно когда неявная формула требует решать уравнение относительно - занятие кропотливое. Ниже мини-форма: выбираешь уравнение, начальную точку, шаг , число шагов и схему (явная / неявная / обе для сравнения) - получаешь пошаговый расчёт и таблицу значений.
Явный (прямой) метод Эйлера
Явный метод Эйлера, он же прямой или forward Euler, берёт наклон в начале отрезка и продлевает его на весь шаг:
Формула явная в буквальном смысле: правая часть зависит только от уже известных и , поэтому вычисляется прямой подстановкой, без решения уравнений. Геометрически мы движемся по касательной к решению, проведённой в текущей точке. Это самый дешёвый из всех методов - одно вычисление на шаг, - но и самый грубый: касательная отрывается от изгибающейся кривой решения, и ошибка накапливается.
Явный метод Эйлера естественно выводится из разложения Тейлора: . Отбрасывая член с и заменяя на , получаем схему. Отброшенный член и есть источник локальной погрешности.
Неявный (обратный) метод Эйлера
Неявный метод Эйлера (обратный, backward Euler) берёт наклон в конце отрезка:
Здесь неизвестное входит и в левую, и в правую часть - это алгебраическое уравнение относительно , которое в общем случае нелинейно. На каждом шаге его решают: для линейной по правой части - явной формулой, для нелинейной - итерациями Ньютона или простой итерацией. Цена шага выше, чем у явной схемы, но устойчивость несравнимо лучше.
Запоминайте по индексу аргумента: явный метод считает $f$ в узле $n$ (всё известно), неявный - в узле $n+1$ (приходится решать уравнение). «Неявный» = неизвестное по обе стороны равенства.
Для линейного тестового уравнения обратная схема даёт , откуда - решается сразу, без итераций. Именно на этом уравнении удобно сравнивать устойчивость двух методов.
Локальная и глобальная погрешность O(h)
Обе схемы имеют одинаковый порядок точности. Локальная погрешность усечения - ошибка за один шаг при точном предыдущем значении - составляет : это и есть отброшенный член . Шагов на отрезке порядка , поэтому глобальная погрешность на порядок ниже локальной и равна . Отсюда название «методы первого порядка».
Практический вывод из суров: чтобы вдвое уменьшить глобальную ошибку, нужно вдвое уменьшить шаг - то есть вдвое больше вычислений. Для сравнения, у метода Рунге-Кутты 4 порядка ошибка падает как , и уменьшение шага вдвое снижает её в шестнадцать раз. Поэтому метод Эйлера в чистом виде применяют редко - но он остаётся фундаментом, на котором строят и понимают все более точные схемы.
Абсолютная устойчивость и тестовое уравнение
Главное различие между явным и неявным методом Эйлера - не точность, а устойчивость. Её исследуют на модельном уравнении с , точное решение которого затухает: . Хорошая схема должна тоже давать затухающую последовательность .
Для явного метода , то есть . Чтобы , нужен множитель - это условие задаёт ограниченную область абсолютной устойчивости (для вещественного это ). Превысишь шаг - и приближённое решение начнёт расти по модулю, хотя точное затухает: схема «взрывается».
Для неявного метода , то есть . При знаменатель по модулю больше единицы при любом , поэтому всегда. Неявный метод Эйлера абсолютно устойчив (A-устойчив): его область устойчивости включает всю левую полуплоскость, и ограничения на шаг по соображениям устойчивости нет.
Жёсткие уравнения: где явный метод проигрывает
Жёсткое уравнение - то, где сосуществуют процессы с сильно разными масштабами времени (большие по модулю отрицательные ), например быстро затухающие компоненты на фоне медленной динамики. Явный метод Эйлера вынужден держать шаг из-за самой быстрой компоненты - даже после того, как она давно затухла и на решение уже не влияет. Это делает явную схему катастрофически медленной: тысячи мелких шагов там, где по точности хватило бы десятка крупных.
Неявный метод Эйлера от этого свободен: будучи A-устойчивым, он выбирает шаг исходя только из требуемой точности, а не из устойчивости. Дополнительная стоимость решения уравнения на каждом шаге окупается многократно меньшим числом шагов. Поэтому для жёстких задач - кинетика реакций, электрические цепи, теплопроводность - выбирают именно неявные схемы. Та же логика «явная схема дешева, но условно устойчива; неявная дороже на шаг, но устойчива безусловно» дословно повторяется в методе конечных разностей для уравнений в частных производных.
| Свойство | Явный (прямой) | Неявный (обратный) |
|---|---|---|
| Формула | ||
| Стоимость шага | одно вычисление | решение уравнения |
| Глобальная погрешность | ||
| Устойчивость | условная, $h < 2/ | \lambda |
| Когда применять | нежёсткие, гладкие задачи | жёсткие уравнения |
Частые ошибки
- Считают явный и неявный методы разными по точности. Оба первого порядка, глобальная погрешность у обоих . Различие - в устойчивости, а не в порядке.
- Решают неявную формулу как явную. В нельзя просто подставить в правую часть - это превратит схему в явную. надо найти из уравнения.
- Путают локальную и глобальную погрешность. Локальная - , глобальная - . Имя «первый порядок» относится к глобальной.
- Берут крупный шаг для явной схемы на жёсткой задаче. При решение разлетается. Это не ошибка округления, а потеря устойчивости - лечится уменьшением шага или переходом к неявному методу.
- Думают, что A-устойчивость = высокая точность. Неявный Эйлер устойчив, но всё ещё первого порядка: при крупном шаге решение не «взрывается», но и точным не будет.
FAQ
В чём главное различие явного и неявного метода Эйлера? В точке вычисления наклона: явный берёт в начале шага (узел ), неявный - в конце (узел ). Из-за этого явный требует решения уравнения на , зато неявный абсолютно устойчив.
Почему неявный метод предпочитают для жёстких уравнений? Он A-устойчив: шаг ограничивается только точностью, а не устойчивостью. Явный метод на жёсткой задаче вынужден держать крошечный шаг из-за быстро затухающей компоненты, что делает его непомерно медленным.
Какой порядок точности у метода Эйлера? Первый: глобальная погрешность , локальная - одинаково у явной и неявной схемы. Для высокой точности переходят к методам Рунге-Кутты.
Коротко
Явный и неявный метод Эйлера решают задачу Коши , , продлевая наклон на шаг : явная схема берёт наклон в начале отрезка и считается прямой подстановкой, неявная - в конце, требуя решения уравнения на . Обе первого порядка с глобальной погрешностью , но различаются устойчивостью: явный метод условно устойчив ( на тесте ), неявный - абсолютно (A-устойчив). Поэтому для гладких нежёстких задач хватает дешёвой явной схемы, а на жёстких уравнениях выбирают неявную, окупающую стоимость шага свободой в выборе .
Читайте также

Метод конечных разностей для уравнений: схемы и устойчивость
Метод конечных разностей для уравнений: разностные схемы, аппроксимация производных, явная и неявная схема, устойчивость, сходимость и краевые задачи на сетке.

Метод Рунге-Кутты 4 порядка: численное решение ОДУ
Метод Рунге-Кутты 4 порядка для задачи Коши: формулы коэффициентов –, шаг , локальная и глобальная погрешность , сравнение с методом Эйлера и пример расчёта.

Алгоритм Рабина-Карпа: поиск подстроки за O(n+m)
Разбираем алгоритм Рабина-Карпа: как полиномиальный хеш и скользящее окно ускоряют поиск подстроки до O(n+m) в среднем, почему бывают ложные совпадения и при чём тут плагиат.