Математика / Начала анализа

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

Неявный метод Эйлера использует производную в конце шага. Новое значение входит в обе части равенства, поэтому каждый переход требует решения уравнения, зато схема хорошо подавляет быстро затухающие компоненты.

Опубликовано: Обновлено:

Формула

$$y_{n+1}=y_n+h f(t_{n+1},y_{n+1})$$
Схема Неявный шаг при y′ = −2y
Неявный шаг при y′ = −2yНеявный шаг при y′ = −2ytделительy0—10,520,5120,25Решение слоя: y новое = y старое / 2

Решение слоя: y новое = y старое / 2

Обозначения

$y_n$
известное значение на старом слое, единица состояния
$y_{n+1}$
искомое значение нового слоя, единица состояния
$t_{n+1}$
аргумент в конце шага, единица аргумента
$h$
шаг по независимой переменной, единица аргумента
$f$
правая часть ОДУ, единица состояния / единица аргумента

Условия применения

Нужны начальное значение и возможность решить уравнение нового слоя. Для нелинейной правой части следует проверить существование нужного решения и сходимость внутреннего решателя. Вычислительный допуск этого решателя должен согласовываться с требуемой точностью интегрирования.

Ограничения

Безусловная устойчивость на линейном тесте с отрицательной действительной частью λ не означает точность при любом шаге или существование решения любого нелинейного шага. Схема имеет лишь первый порядок; она может чрезмерно сглаживать реальные быстрые изменения.

Подробное объяснение

Вместо наклона в начале отрезка неявная схема использует наклон в его ещё неизвестном конце. Графически это означает, что соединяющий соседние приближения отрезок согласован с производной в новой точке. Сразу подставить число обычно нельзя: сначала нужно определить эту точку.

Для y′ = −ay с a > 0 шаг записывается как yₙ₊₁ = yₙ − ha·yₙ₊₁. После переноса получается yₙ₊₁ = yₙ/(1+ha). Делитель больше единицы при любом положительном h. Поэтому такая последовательность остаётся положительной при положительном старте и убывает.

Однако медленное численное затухание не обязано совпадать с точным экспоненциальным. При большом ha деление на 1+ha может дать заметно большую величину, чем умножение на e⁻ʰᵃ. Устойчивость отвечает на вопрос о разрастании возмущений, а точность — о близости к исходной траектории.

В нелинейной модели на новом слое решают остаточное уравнение G(z) = z−yₙ−h·f(tₙ₊₁,z) = 0. Для этого используют, например, метод Ньютона с контролем невязки. Если возможны несколько корней G, выбор физически нужной ветви требует анализа и аккуратного начального приближения.

Первый порядок сохраняется, несмотря на усложнение шага: при достаточной гладкости ошибка одного перехода имеет порядок h², а ошибка на фиксированном интервале — h. Выгода неявности заключается прежде всего в поведении жёстких затухающих составляющих, а не в повышении порядка.

Как пользоваться формулой

  1. Подставьте правую часть при t следующего узла и неизвестном z; запишите отдельное уравнение для нового значения.
  2. Если уравнение линейное, перенесите все члены с z в одну часть и проверьте ненулевой коэффициент перед делением.
  3. Для нелинейного шага выберите решатель и допуск, затем проверьте остаток z−y−h·f, а также допустимость найденного корня.
  4. Сравните конечное значение с расчётом на половинном шаге; хорошее подавление возмущений само по себе не гарантирует точность.

Историческая справка

Неявная схема Эйлера входит в семейство одношаговых разностных методов, исходная идея которых связана с развитием дифференциальных уравнений в XVIII веке. Её современная роль особенно ясно видна в вычислительной постановке: новый временной слой определяется из уравнения, а не прямой подстановкой. В изложении Fundamentals of Numerical Computation явный и обратный шаги сопоставляются через области абсолютной устойчивости. Это уже язык современного численного анализа, позволяющий объяснить ограничения явных методов на затухающих моделях. Неявность увеличивает работу на одном шаге, но иногда позволяет избежать чрезвычайно мелкой временной сетки. Отдельную дату изобретения именно современной программной версии здесь не устанавливают: алгебраическая схема и теория её применения — разные исторические уровни.

Историческая линия формулы

Название «обратный, или неявный, метод Эйлера» обозначает оценку производной на новом слое. Связь с именем Эйлера является принятой математической терминологией; теория жёсткости и выбор нелинейного решателя не рассматриваются как его личные разработки.

Пример

Для безразмерной задачи y′ = −2y, y(0) = 1 возьмём h = 0,5. Уравнение первого слоя y₁ = 1 − 0,5·2y₁ даёт 2y₁ = 1, то есть y₁ = 0,5. На втором слое y₂ = 0,5 − y₂, откуда y₂ = 0,25 при t = 1. Точное значение e⁻² ≈ 0,135335283; абсолютная ошибка около 0,114664717. Остаток второго шага равен 0,25−0,5+0,5·2·0,25 = 0. Значит, алгебра решена верно, но дискретизация всё ещё груба. При h = 0,25 четыре шага дают (1/1,5)⁴ = 16/81 ≈ 0,197530864. Ошибка около 0,062195581 меньше, хотя оба расчёта устойчиво затухают. Это различие между точностью решения шага и точностью траектории.

Частая ошибка

Не подставляйте в правую часть старое y вместо нового: получится явная схема. Не объявляйте большой шаг точным по одному признаку устойчивости. Не принимайте остановку нелинейного решателя за успешное решение без проверки остатка. Не забывайте делитель 1+ha для затухания: знак минус здесь привёл бы к другой модели.

Практика

Задачи с решением

Очень быстрое затухание

Условие. Для y′ = −10y, y₀ = 2 найдите один неявный шаг h = 0,3.

Решение. Делитель равен 1+10·0,3 = 4. Поэтому y₁ = 2/4 = 0,5. Остаток 0,5−2+0,3·10·0,5 равен нулю.

Ответ. y₁ = 0,5.

Явная зависимость от времени

Условие. Для y′ = t, y(0) = 0 выполните два неявных шага по 0,5.

Решение. В первом конце t₁ = 0,5: y₁ = 0+0,5·0,5 = 0,25. Во втором t₂ = 1: y₂ = 0,25+0,5·1 = 0,75. Точное y(1) = 0,5.

Ответ. y(1) ≈ 0,75; ошибка 0,25.

Дополнительные источники

  • https://fncbook.com/absstab-diffusion/
  • https://fncbook.com/implicit/
  • https://fncbook.com/euler/

Связанные формулы

Математика

Явный метод Эйлера: решение задачи Коши по шагам

$y_{n+1}=y_n+h f(t_n,y_n),\qquad t_{n+1}=t_n+h$

Явный метод Эйлера приближённо решает уравнение y′ = f(t,y), продолжая решение по наклону в начале каждого шага. При гладком решении глобальная ошибка имеет первый порядок по шагу.

Математика

Явный метод средней точки для задачи Коши

$k_1=f(t_n,y_n),\quad k_2=f(t_n+h/2,y_n+hk_1/2),\quad y_{n+1}=y_n+hk_2$

Явный метод средней точки делает пробный полушаг по Эйлеру, оценивает производную в середине и использует её на полном шаге. Это двухстадийная схема Рунге — Кутты второго порядка.

Математика

Метод Хойна: явное усреднение двух наклонов

$k_1=f(t_n,y_n),\quad k_2=f(t_n+h,y_n+hk_1),\quad y_{n+1}=y_n+\frac h2(k_1+k_2)$

В этой двухстадийной схеме сначала делают прогноз Эйлера на полный шаг, затем усредняют начальный и прогнозный конечный наклоны. Метод имеет второй порядок, но названия его вариантов различаются в литературе.

Математика

Классический метод Рунге — Кутты четвёртого порядка

$\begin{aligned}k_1&=f(t_n,y_n),&k_2&=f(t_n+h/2,y_n+hk_1/2),\\k_3&=f(t_n+h/2,y_n+hk_2/2),&k_4&=f(t_n+h,y_n+hk_3),\\y_{n+1}&=y_n+\frac h6(k_1+2k_2+2k_3+k_4).\end{aligned}$

Классический RK4 вычисляет четыре наклона за шаг и объединяет их с весами 1:2:2:1. Для гладкой задачи Коши он даёт четвёртый порядок общей ошибки без явного вычисления высших производных.