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, и ищут приближения yn≈y(xn)y_n \approx y(x_n). Любая одношаговая схема даёт правило перехода от yny_n к yn+1y_{n+1}; вопрос лишь в том, какой наклон и в какой точке использовать для приращения за шаг.

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

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+h f(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)+h y′(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+h f(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/(1−hλ)y_{n+1} = y_n / (1 - h\lambda) - решается сразу, без итераций. Именно на этом уравнении удобно сравнивать устойчивость двух методов.

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

Обе схемы имеют одинаковый порядок точности. Локальная погрешность усечения - ошибка за один шаг при точном предыдущем значении - составляет O(h2)O(h^2): это и есть отброшенный член h22y′′\tfrac{h^2}{2} y''. Шагов на отрезке порядка 1/h1/h, поэтому глобальная погрешность ∣yn−y(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λx→0y = y_0 e^{\lambda x} \to 0. Хорошая схема должна тоже давать затухающую последовательность yn→0y_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. Чтобы yn→0y_n \to 0, нужен множитель ∣1+hλ∣<1|1 + h\lambda| < 1 - это условие задаёт ограниченную область абсолютной устойчивости (для вещественного λ<0\lambda < 0 это h<2/∣λ∣h < 2/|\lambda|). Превысишь шаг - и приближённое решение начнёт расти по модулю, хотя точное затухает: схема «взрывается».

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

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

Жёсткое уравнение - то, где сосуществуют процессы с сильно разными масштабами времени (большие по модулю отрицательные λ\lambda), например быстро затухающие компоненты на фоне медленной динамики. Явный метод Эйлера вынужден держать шаг h<2/∣λmax⁡∣h < 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

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

Схема Кранка-Николсона: устойчивость и точность

Схема Кранка-Николсона: устойчивость и точность

Схема Кранка-Николсона для уравнения теплопроводности: вывод разностной схемы, порядок аппроксимации, безусловная устойчивость по критерию фон Неймана и примеры расчёта шага сетки.

11 июня 20266 минут
Метод конечных разностей для уравнений: схемы и устойчивость

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

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

3 мая 20267 минут
Метод Рунге-Кутты 4 порядка: численное решение ОДУ

Метод Рунге-Кутты 4 порядка: численное решение ОДУ

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

11 апреля 20268 минут
Агрегатные функции SQL: COUNT, SUM, AVG и GROUP BY

Агрегатные функции SQL: COUNT, SUM, AVG и GROUP BY

Как работают агрегатные функции SQL: COUNT, SUM, AVG, MIN и MAX, группировка GROUP BY, порядок выполнения запроса, разница HAVING и WHERE и поведение NULL внутри агрегата.

24 сентября 20269 минут
Интегральный синус Si(x): ряд Тейлора и максимум

Интегральный синус Si(x): ряд Тейлора и максимум

Интегральный синус Si(x): почему интеграл sin t / t не берётся в элементарных функциях, разложение в ряд, предел π/2, максимум Si(π) и выброс Гиббса. С калькулятором.

24 сентября 202610 минут
Куча как структура данных: массив и просеивание

Куча как структура данных: массив и просеивание

Куча как структура данных: свойство кучи, хранение в обычном массиве и индексы 2i+1 и 2i+2, просеивание sift-up и sift-down, построение за O(n) и приоритетная очередь.

24 сентября 202610 минут