EssayAI
Блог
Блог
Математика и алгоритмы

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

8 апреля 2026Время чтения: 8 минут
#метод Эйлера#явная схема#неявная схема#устойчивость#жёсткие уравнения
Явный и неявный метод Эйлера: устойчивость и выбор шага

Явный и неявный метод Эйлера - две простейшие одношаговые схемы численного решения задачи Коши для обыкновенного дифференциального уравнения. Обе используют один и тот же наклон f(x,y)f(x, y) и дают глобальную погрешность O(h)O(h), но различаются тем, в какой точке шага этот наклон берётся: явный (прямой) метод Эйлера опирается на наклон в начале отрезка, неявный (обратный) - на наклон в его конце. Это, казалось бы, мелкое различие радикально меняет устойчивость схемы, и именно оно объясняет, почему на жёстких уравнениях явный метод «взрывается», а неявный спокойно считает с крупным шагом.

Постановка задачи Коши и сетка

Решаем задачу Коши: дано уравнение первого порядка y=f(x,y)y' = f(x, y) и начальное условие y(x0)=y0y(x_0) = y_0. Когда аналитической первообразной нет, решение строят по точкам. Вводят равномерную сетку с шагом hh: узлы xn=x0+nhx_n = x_0 + n h, и ищут приближения yny(xn)y_n \approx y(x_n). Любая одношаговая схема даёт правило перехода от yny_n к yn+1y_{n+1}; вопрос лишь в том, какой наклон и в какой точке использовать для приращения за шаг.

Метод Эйлера - самый прямой ответ: заменим производную yy' в точке разностным отношением и продлим наклон на весь шаг. В зависимости от того, в каком узле вычисляется правая часть, получаются две разные схемы. Та же развилка «вперёд или назад» лежит в основе разностных схем для краевых задач.

Tool: один шаг явного и неявного метода Эйлера

Считать шаги вручную и для прямой, и для обратной схемы - особенно когда неявная формула yn+1=yn+hf(xn+1,yn+1)y_{n+1} = y_n + h f(x_{n+1}, y_{n+1}) требует решать уравнение относительно yn+1y_{n+1} - занятие кропотливое. Ниже мини-форма: выбираешь уравнение, начальную точку, шаг hh, число шагов и схему (явная / неявная / обе для сравнения) - получаешь пошаговый расчёт и таблицу значений.

Явный (прямой) метод Эйлера

Явный метод Эйлера, он же прямой или forward Euler, берёт наклон в начале отрезка [xn,xn+1][x_n, x_{n+1}] и продлевает его на весь шаг:

yn+1=yn+hf(xn,yn).y_{n+1} = y_n + h\, f(x_n, y_n).

Формула явная в буквальном смысле: правая часть зависит только от уже известных xnx_n и yny_n, поэтому yn+1y_{n+1} вычисляется прямой подстановкой, без решения уравнений. Геометрически мы движемся по касательной к решению, проведённой в текущей точке. Это самый дешёвый из всех методов - одно вычисление ff на шаг, - но и самый грубый: касательная отрывается от изгибающейся кривой решения, и ошибка накапливается.

Явный метод Эйлера естественно выводится из разложения Тейлора: y(xn+1)=y(xn)+hy(xn)+h22y(ξ)y(x_{n+1}) = y(x_n) + h\, y'(x_n) + \tfrac{h^2}{2} y''(\xi). Отбрасывая член с h2h^2 и заменяя y(xn)y'(x_n) на f(xn,yn)f(x_n, y_n), получаем схему. Отброшенный член h22y\tfrac{h^2}{2} y'' и есть источник локальной погрешности.

Неявный (обратный) метод Эйлера

Неявный метод Эйлера (обратный, backward Euler) берёт наклон в конце отрезка:

yn+1=yn+hf(xn+1,yn+1).y_{n+1} = y_n + h\, f(x_{n+1}, y_{n+1}).

Здесь неизвестное yn+1y_{n+1} входит и в левую, и в правую часть - это алгебраическое уравнение относительно yn+1y_{n+1}, которое в общем случае нелинейно. На каждом шаге его решают: для линейной по yy правой части - явной формулой, для нелинейной - итерациями Ньютона или простой итерацией. Цена шага выше, чем у явной схемы, но устойчивость несравнимо лучше.

Запоминайте по индексу аргумента: явный метод считает $f$ в узле $n$ (всё известно), неявный - в узле $n+1$ (приходится решать уравнение). «Неявный» = неизвестное по обе стороны равенства.

Для линейного тестового уравнения y=λyy' = \lambda y обратная схема даёт yn+1=yn+hλyn+1y_{n+1} = y_n + h\lambda y_{n+1}, откуда yn+1=yn/(1hλ)y_{n+1} = y_n / (1 - h\lambda) - решается сразу, без итераций. Именно на этом уравнении удобно сравнивать устойчивость двух методов.

Локальная и глобальная погрешность O(h)

Обе схемы имеют одинаковый порядок точности. Локальная погрешность усечения - ошибка за один шаг при точном предыдущем значении - составляет O(h2)O(h^2): это и есть отброшенный член h22y\tfrac{h^2}{2} y''. Шагов на отрезке порядка 1/h1/h, поэтому глобальная погрешность yny(xn)|y_n - y(x_n)| на порядок ниже локальной и равна O(h)O(h). Отсюда название «методы первого порядка».

Практический вывод из O(h)O(h) суров: чтобы вдвое уменьшить глобальную ошибку, нужно вдвое уменьшить шаг - то есть вдвое больше вычислений. Для сравнения, у метода Рунге-Кутты 4 порядка ошибка падает как O(h4)O(h^4), и уменьшение шага вдвое снижает её в шестнадцать раз. Поэтому метод Эйлера в чистом виде применяют редко - но он остаётся фундаментом, на котором строят и понимают все более точные схемы.

Абсолютная устойчивость и тестовое уравнение

Главное различие между явным и неявным методом Эйлера - не точность, а устойчивость. Её исследуют на модельном уравнении y=λyy' = \lambda y с Reλ<0\mathrm{Re}\,\lambda < 0, точное решение которого затухает: y=y0eλx0y = y_0 e^{\lambda x} \to 0. Хорошая схема должна тоже давать затухающую последовательность yn0y_n \to 0.

Для явного метода yn+1=(1+hλ)yny_{n+1} = (1 + h\lambda) y_n, то есть yn=(1+hλ)ny0y_n = (1 + h\lambda)^n y_0. Чтобы yn0y_n \to 0, нужен множитель 1+hλ<1|1 + h\lambda| < 1 - это условие задаёт ограниченную область абсолютной устойчивости (для вещественного λ<0\lambda < 0 это h<2/λh < 2/|\lambda|). Превысишь шаг - и приближённое решение начнёт расти по модулю, хотя точное затухает: схема «взрывается».

Для неявного метода yn+1=yn/(1hλ)y_{n+1} = y_n / (1 - h\lambda), то есть yn=(1hλ)ny0y_n = (1 - h\lambda)^{-n} y_0. При Reλ<0\mathrm{Re}\,\lambda < 0 знаменатель по модулю больше единицы при любом h>0h > 0, поэтому yn0|y_n| \to 0 всегда. Неявный метод Эйлера абсолютно устойчив (A-устойчив): его область устойчивости включает всю левую полуплоскость, и ограничения на шаг по соображениям устойчивости нет.

Жёсткие уравнения: где явный метод проигрывает

Жёсткое уравнение - то, где сосуществуют процессы с сильно разными масштабами времени (большие по модулю отрицательные λ\lambda), например быстро затухающие компоненты на фоне медленной динамики. Явный метод Эйлера вынужден держать шаг h<2/λmaxh < 2/|\lambda_{\max}| из-за самой быстрой компоненты - даже после того, как она давно затухла и на решение уже не влияет. Это делает явную схему катастрофически медленной: тысячи мелких шагов там, где по точности хватило бы десятка крупных.

Неявный метод Эйлера от этого свободен: будучи A-устойчивым, он выбирает шаг исходя только из требуемой точности, а не из устойчивости. Дополнительная стоимость решения уравнения на каждом шаге окупается многократно меньшим числом шагов. Поэтому для жёстких задач - кинетика реакций, электрические цепи, теплопроводность - выбирают именно неявные схемы. Та же логика «явная схема дешева, но условно устойчива; неявная дороже на шаг, но устойчива безусловно» дословно повторяется в методе конечных разностей для уравнений в частных производных.

СвойствоЯвный (прямой)Неявный (обратный)
Формулаyn+1=yn+hf(xn,yn)y_{n+1} = y_n + h f(x_n, y_n)yn+1=yn+hf(xn+1,yn+1)y_{n+1} = y_n + h f(x_{n+1}, y_{n+1})
Стоимость шагаодно вычисление ffрешение уравнения
Глобальная погрешностьO(h)O(h)O(h)O(h)
Устойчивостьусловная, $h < 2/\lambda
Когда применятьнежёсткие, гладкие задачижёсткие уравнения

Частые ошибки

  • Считают явный и неявный методы разными по точности. Оба первого порядка, глобальная погрешность у обоих O(h)O(h). Различие - в устойчивости, а не в порядке.
  • Решают неявную формулу как явную. В yn+1=yn+hf(xn+1,yn+1)y_{n+1} = y_n + h f(x_{n+1}, y_{n+1}) нельзя просто подставить yny_n в правую часть - это превратит схему в явную. yn+1y_{n+1} надо найти из уравнения.
  • Путают локальную и глобальную погрешность. Локальная - O(h2)O(h^2), глобальная - O(h)O(h). Имя «первый порядок» относится к глобальной.
  • Берут крупный шаг для явной схемы на жёсткой задаче. При h>2/λh > 2/|\lambda| решение разлетается. Это не ошибка округления, а потеря устойчивости - лечится уменьшением шага или переходом к неявному методу.
  • Думают, что A-устойчивость = высокая точность. Неявный Эйлер устойчив, но всё ещё первого порядка: при крупном шаге решение не «взрывается», но и точным не будет.

FAQ

В чём главное различие явного и неявного метода Эйлера? В точке вычисления наклона: явный берёт ff в начале шага (узел nn), неявный - в конце (узел n+1n+1). Из-за этого явный требует решения уравнения на yn+1y_{n+1}, зато неявный абсолютно устойчив.

Почему неявный метод предпочитают для жёстких уравнений? Он A-устойчив: шаг ограничивается только точностью, а не устойчивостью. Явный метод на жёсткой задаче вынужден держать крошечный шаг из-за быстро затухающей компоненты, что делает его непомерно медленным.

Какой порядок точности у метода Эйлера? Первый: глобальная погрешность O(h)O(h), локальная O(h2)O(h^2) - одинаково у явной и неявной схемы. Для высокой точности переходят к методам Рунге-Кутты.

Коротко

Явный и неявный метод Эйлера решают задачу Коши y=f(x,y)y' = f(x, y), y(x0)=y0y(x_0) = y_0, продлевая наклон на шаг hh: явная схема yn+1=yn+hf(xn,yn)y_{n+1} = y_n + h f(x_n, y_n) берёт наклон в начале отрезка и считается прямой подстановкой, неявная yn+1=yn+hf(xn+1,yn+1)y_{n+1} = y_n + h f(x_{n+1}, y_{n+1}) - в конце, требуя решения уравнения на yn+1y_{n+1}. Обе первого порядка с глобальной погрешностью O(h)O(h), но различаются устойчивостью: явный метод условно устойчив (h<2/λh < 2/|\lambda| на тесте y=λyy' = \lambda y), неявный - абсолютно (A-устойчив). Поэтому для гладких нежёстких задач хватает дешёвой явной схемы, а на жёстких уравнениях выбирают неявную, окупающую стоимость шага свободой в выборе hh.

Доверьте текст нейросети EssayAI

Открыть EssayAI

Бесплатно, на русском языке и без VPN

Читайте также