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

Методы Адамса-Башфорта: формулы и порядок точности

11 июня 2026Время чтения: 9 минут
#методы адамса-башфорта#задача коши#многошаговые методы#порядок точности#численное решение оду

Методы Адамса-Башфорта - это семейство явных многошаговых методов для численного решения задачи Коши y=f(x,y)y' = f(x, y). В отличие от методов Эйлера или Рунге-Кутты, которые на каждом шаге смотрят только на текущую точку, методы Адамса-Башфорта используют историю: несколько уже вычисленных значений правой части fn,fn1,f_n, f_{n-1}, \dots Это позволяет получить высокий порядок точности, делая всего одно вычисление ff на шаг, поэтому методы экономны и популярны в расчётах динамики. Ниже разберём расчётные формулы порядков от первого до четвёртого, как получить недостающие стартовые точки, как число шагов истории связано с порядком точности и где студенты чаще всего ошибаются. Чтобы сразу почувствовать связь шага, порядка и ошибки, покрути калькулятор: он решает тестовую задачу и показывает, как численное решение ложится на точную кривую и как ошибка падает при уменьшении шага.

Что такое метод Адамса-Башфорта

Задача Коши состоит в том, чтобы по уравнению y=f(x,y)y' = f(x, y) и начальному условию y(x0)=y0y(x_0) = y_0 найти решение на отрезке. Численные методы строят его в узлах равномерной сетки xn=x0+nhx_n = x_0 + n h с шагом hh, переходя от yny_n к yn+1y_{n+1}.

Идея методов Адамса состоит в том, чтобы проинтегрировать тождество

yn+1=yn+xnxn+1f(x,y(x))dx,y_{n+1} = y_n + \int_{x_n}^{x_{n+1}} f(x, y(x))\, dx,

заменив неизвестную подынтегральную функцию интерполяционным многочленом, построенным по уже посчитанным значениям производной fn,fn1,,fnk+1f_n, f_{n-1}, \dots, f_{n-k+1}. Если многочлен строится только по прошлым узлам (точка xn+1x_{n+1} в него не входит), метод получается явным - это и есть методы Адамса-Башфорта. Чем больше прошлых наклонов берётся в историю, тем выше степень интерполяционного многочлена и тем выше порядок точности.

Формулы методов Адамса-Башфорта

Обозначим fn=f(xn,yn)f_n = f(x_n, y_n). Тогда расчётные формулы для kk-шаговых методов выглядят так:

AB1:yn+1=yn+hfn,\text{AB1:} \quad y_{n+1} = y_n + h\, f_n,

AB2:yn+1=yn+h2(3fnfn1),\text{AB2:} \quad y_{n+1} = y_n + \frac{h}{2}\,(3 f_n - f_{n-1}),

AB3:yn+1=yn+h12(23fn16fn1+5fn2),\text{AB3:} \quad y_{n+1} = y_n + \frac{h}{12}\,(23 f_n - 16 f_{n-1} + 5 f_{n-2}),

AB4:yn+1=yn+h24(55fn59fn1+37fn29fn3).\text{AB4:} \quad y_{n+1} = y_n + \frac{h}{24}\,(55 f_n - 59 f_{n-1} + 37 f_{n-2} - 9 f_{n-3}).

Одношаговый метод AB1 - это в точности явный метод Эйлера: история состоит из единственного наклона. Коэффициенты в каждой формуле в сумме дают единицу (например, 3/21/2=13/2 - 1/2 = 1 для AB2) - это гарантирует, что для постоянной правой части метод даёт точный результат. Заметьте: каждый шаг требует только одного нового вычисления ff, а остальные наклоны уже посчитаны на прошлых шагах и хранятся в памяти.

Численное решение шагает по узлам сетки и ложится на точную кривую: каждая новая точка строится по нескольким уже известным наклонам, золотой шаг показывает последний переход от yn к yn+1

Видно главное отличие от Рунге-Кутты: внутри шага не делается дополнительных промежуточных вычислений правой части, метод опирается на накопленную историю производных.

Как получить стартовые точки

У многошагового метода есть проблема разгона. Чтобы сделать первый шаг по формуле AB4, нужны уже четыре значения fn,fn1,fn2,fn3f_n, f_{n-1}, f_{n-2}, f_{n-3}, а из начального условия известна только одна точка. Поэтому первые k1k - 1 значений приходится получать каким-то одношаговым методом того же или более высокого порядка - обычно методом Рунге-Кутты 4 порядка, который не требует истории.

Важно, чтобы стартовый метод имел порядок не ниже основного: если разогнать AB4 грубым методом Эйлера, начальная ошибка испортит весь дальнейший расчёт, и формально четвёртый порядок не проявится. В калькуляторе выше стартовые точки считаются именно по Рунге-Кутте 4, поэтому наблюдаемый порядок при уменьшении шага выходит на теоретический.

Порядок точности и сходимость

Главное свойство kk-шагового метода Адамса-Башфорта - его порядок точности равен kk. Это значит, что глобальная ошибка ведёт себя как O(hk)O(h^k): при уменьшении шага вдвое ошибка AB2 падает примерно в 22=42^2 = 4 раза, AB3 - в 88 раз, а AB4 - в 1616 раз. Локальная ошибка усечения на одном шаге на порядок выше, O(hk+1)O(h^{k+1}), но за весь отрезок накапливается 1/h1/h шагов, поэтому глобальная ошибка теряет одну степень.

Проверить порядок проще всего на тестовой задаче с известным точным решением, построив зависимость ошибки от шага в логарифмических осях.

Глобальная ошибка методов AB2 и AB4 в зависимости от шага в логарифмических осях: наклон прямой равен порядку метода, поэтому линия AB4 круче линии AB2, а при делении шага пополам ошибка AB4 падает примерно в 16 раз
Глобальная ошибка методов AB2 и AB4 в зависимости от шага в логарифмических осях: наклон прямой равен порядку метода, поэтому линия AB4 круче линии AB2, а при делении шага пополам ошибка AB4 падает примерно в 16 раз

На графике в осях logh\log h и log(ошибка)\log(\text{ошибка}) зависимость становится прямой, и её наклон равен порядку метода. Линия AB4 круче линии AB2 ровно потому, что её порядок выше. Это удобный способ экспериментально измерить порядок: посчитать ошибку для пары шагов hh и h/2h/2 и оценить plog2 ⁣(e(h)/e(h/2))p \approx \log_2\!\big(e(h) / e(h/2)\big). Именно эту оценку показывает калькулятор в поле «Порядок».

Устойчивость и выбор шага

Высокий порядок не означает, что можно брать сколь угодно крупный шаг. У явных методов Адамса-Башфорта область устойчивости ограничена, и для жёстких задач (где есть быстро затухающие компоненты решения) шаг приходится делать очень мелким, иначе численное решение начинает раскачиваться и расходиться. При этом с ростом порядка область устойчивости методов Адамса-Башфорта сужается: AB4 устойчив на меньшем диапазоне шагов, чем AB2. Поэтому на практике часто останавливаются на AB3 или AB4 как на разумном компромиссе между точностью и устойчивостью.

Если задача жёсткая, явные методы вообще плохо подходят - тогда переходят к неявным методам Адамса-Моултона или к специальным методам для жёстких систем. Универсального рецепта нет: шаг подбирают так, чтобы и точность была достаточной, и решение не теряло устойчивость.

Связка прогноз-коррекция

На практике методы Адамса-Башфорта редко применяют в одиночку. Чаще их используют как предиктор в схеме прогноз-коррекция: сначала явная формула Адамса-Башфорта даёт грубую оценку yn+1(0)y_{n+1}^{(0)}, затем по ней считают fn+1f_{n+1} и подставляют в неявную формулу Адамса-Моултона того же порядка - это корректор, уточняющий значение. Такая связка PECE объединяет точность неявного метода с дешевизной явного: за шаг делается всего одно-два вычисления правой части, а устойчивость заметно лучше, чем у чистого Адамса-Башфорта. Разность между прогнозом и коррекцией заодно даёт удобную оценку локальной ошибки, по которой можно автоматически менять шаг.

Пример решения типовой задачи

Разберём стандартную постановку. Дано уравнение y=yx2+1y' = y - x^2 + 1 с начальным условием y(0)=0,5y(0) = 0{,}5 на отрезке [0;2][0; 2]; точное решение для проверки y=(x+1)20,5exy = (x+1)^2 - 0{,}5\,e^x. Применим метод AB2 с шагом h=0,2h = 0{,}2.

Сначала получим стартовую точку y1y_1 методом Рунге-Кутты 4 в узле x1=0,2x_1 = 0{,}2: выходит y10,8293y_1 \approx 0{,}8293. Теперь есть два значения наклона:

f0=y0x02+1=0,50+1=1,5,f1=y1x12+11,7893.f_0 = y_0 - x_0^2 + 1 = 0{,}5 - 0 + 1 = 1{,}5, \qquad f_1 = y_1 - x_1^2 + 1 \approx 1{,}7893.

Делаем первый шаг AB2 в узел x2=0,4x_2 = 0{,}4:

y2=y1+h2(3f1f0)0,8293+0,1(31,78931,5)1,2173.y_2 = y_1 + \frac{h}{2}\,(3 f_1 - f_0) \approx 0{,}8293 + 0{,}1\,(3 \cdot 1{,}7893 - 1{,}5) \approx 1{,}2173.

Дальше шаги повторяются: на каждом считаем новый наклон fnf_n, сдвигаем историю и применяем ту же формулу. Дойдя до x=2x = 2, получаем y5,40y \approx 5{,}40 против точного y(2)5,305y(2) \approx 5{,}305 - глобальная ошибка порядка 10210^{-2}, что согласуется со вторым порядком метода при таком шаге. Если повторить расчёт методом AB4, ошибка при том же шаге окажется на два порядка меньше.

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

  • Разгон слишком грубым методом. Если стартовые точки для AB4 посчитаны методом Эйлера, начальная ошибка первого порядка глушит весь четвёртый порядок - берите стартовый метод порядка не ниже основного.
  • Путаница порядка и числа шагов. У Адамса-Башфорта они совпадают (kk-шаговый метод имеет порядок kk), но у других семейств это не так - не переносите правило автоматически.
  • Игнорирование устойчивости. Высокий порядок не разрешает крупный шаг: на жёсткой задаче явный метод расходится, как бы точна ни была формула.
  • Неверный знак или дробь в коэффициентах. Самая частая арифметическая ошибка - перепутать 3fnfn13 f_n - f_{n-1} местами или потерять множитель h/2h/2. Проверка: сумма коэффициентов всегда равна единице.
  • Смешение с Адамсом-Моултоном. Башфорт - явный (предиктор), Моултон - неявный (корректор); в формуле корректора участвует ещё не известное fn+1f_{n+1}.

FAQ

Чем метод Адамса-Башфорта отличается от метода Рунге-Кутты? Рунге-Кутта - одношаговый метод: он несколько раз вычисляет правую часть внутри одного шага и не хранит историю. Адамс-Башфорт - многошаговый: он опирается на уже посчитанные наклоны прошлых узлов и делает всего одно новое вычисление ff на шаг, поэтому при равном порядке он дешевле, но требует разгона и хуже по устойчивости.

Какой порядок имеет kk-шаговый метод Адамса-Башфорта? Ровно kk: двухшаговый AB2 имеет второй порядок, трёхшаговый AB3 - третий, четырёхшаговый AB4 - четвёртый. Глобальная ошибка ведёт себя как O(hk)O(h^k).

Зачем нужны стартовые точки и сколько их? Чтобы применить kk-шаговую формулу, нужны kk значений подряд, а из начального условия известно только одно. Поэтому первые k1k - 1 точек получают одношаговым методом (обычно Рунге-Кутты) того же или более высокого порядка, и только потом включают основную формулу.

Коротко

Методы Адамса-Башфорта - это явные многошаговые методы решения задачи Коши, в которых новое значение строится по истории нескольких уже посчитанных наклонов fn,fn1,f_n, f_{n-1}, \dots Число шагов истории равно порядку точности: AB1 совпадает с Эйлером, а AB4 даёт ошибку O(h4)O(h^4) при одном вычислении правой части на шаг. Главные практические нюансы - корректный разгон стартовых точек методом не ниже основного по порядку, ограниченная устойчивость явных формул и применение в связке прогноз-коррекция с методом Адамса-Моултона.

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

Открыть EssayAI

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

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