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

Экстраполяция Ричардсона: как ускорить сходимость метода

11 июня 2026Время чтения: 8 минут
#экстраполяция ричардсона#численные методы#порядок сходимости#метод ромберга#центральная разность

Экстраполяция Ричардсона - приём, который позволяет из двух не очень точных численных приближений получить одно намного более точное, не меняя ни формулу метода, ни объём вычислений на каждом шаге. Идея работает для производных, интегралов, решений дифференциальных уравнений - везде, где приближение зависит от шага hh и известно, с каким порядком убывает его ошибка. Ниже разберём, откуда берётся формула экстраполяции, почему она гасит именно главный член ошибки и как её применять на конкретных числах. Чтобы сразу увидеть эффект, покрутите калькулятор ниже: он считает производную sinx\sin x центральной разностью с двумя шагами и показывает, насколько экстраполированное значение ближе к истине, чем каждое из исходных.

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

Пусть численный метод даёт приближение F(h)F(h) к истинному значению FF, и известно, что ошибка ведёт себя как

F(h)=F+Chp+O(hp+1),F(h) = F + C\,h^{p} + O(h^{p+1}),

где CC - некоторая константа, не зависящая от hh, а pp - порядок точности метода. Если посчитать это же приближение с вдвое меньшим шагом, F(h/2)=F+C(h/2)p+O(hp+1)F(h/2) = F + C\,(h/2)^p + O(h^{p+1}), то у нас появляются два уравнения с двумя неизвестными: сама величина FF и мешающий член ChpC h^p. Комбинируя их так, чтобы член с CC сократился, получаем формулу экстраполяции Ричардсона:

R=2pF(h/2)F(h)2p1.R = \frac{2^{p}\,F(h/2) - F(h)}{2^{p} - 1}.

Эта комбинация всё ещё содержит ошибку, но уже не порядка hph^p, а порядка hp+1h^{p+1} (или выше, если в разложении отсутствуют промежуточные степени). Иными словами, из двух приближений сравнительно низкого порядка получается одно приближение существенно более высокого порядка - и всё это без единого нового вычисления значения функции сверх тех, что уже понадобились для F(h)F(h) и F(h/2)F(h/2).

Пример: ускорение производной центральной разностью

Самый наглядный пример - численное дифференцирование. Возьмём функцию f(x)=sinxf(x) = \sin x и приближение производной центральной разностью:

D(h)=f(x0+h)f(x0h)2h.D(h) = \frac{f(x_0+h) - f(x_0-h)}{2h}.

Разложив числитель в ряд Тейлора вокруг x0x_0, получаем

D(h)=f(x0)+h26f(x0)+O(h4),D(h) = f'(x_0) + \frac{h^{2}}{6}\,f'''(x_0) + O(h^{4}),

то есть погрешность центральной разности имеет порядок p=2p=2: при уменьшении шага вдвое ошибка падает примерно в четыре раза. Здесь работает важная особенность симметричных формул - в разложении присутствуют только чётные степени hh, поэтому следующий член после h2h^2 идёт сразу с h4h^4, а не с h3h^3.

Секущая через x0 с шагом h постепенно заменяется секущей с шагом h/2 и приближается к касательной; отдельно отмечена точка экстраполяции Ричардсона, которая ложится на касательную заметно точнее любой из двух секущих

Как вывести формулу для конкретного порядка

Для центральной разности p=2p = 2, поэтому общая формула R=(2pF(h/2)F(h))/(2p1)R = (2^p F(h/2) - F(h)) / (2^p - 1) превращается в

R(h)=4D(h/2)D(h)3.R(h) = \frac{4\,D(h/2) - D(h)}{3}.

Подставив сюда разложения D(h)D(h) и D(h/2)D(h/2), легко убедиться, что член с h2h^2 действительно сокращается: 4(f+h224f)(f+h26f)=3f+0h2+4\big(f' + \tfrac{h^2}{24}f'''\big) - \big(f' + \tfrac{h^2}{6}f'''\big) = 3f' + 0\cdot h^2 + \dots, а после деления на 3 остаётся f(x0)f'(x_0) плюс член порядка h4h^4. Именно поэтому важно знать порядок метода заранее - без него нельзя подобрать правильный множитель 2p2^p, и сокращения не произойдёт.

Расчёт для конкретных чисел

Возьмём x0=1x_0 = 1 (радиан) и начальный шаг h=0,5h = 0{,}5. Тогда

D(0,5)=sin1,5sin0,510,5181,D(0,25)=sin1,25sin0,750,50,5347.D(0{,}5) = \frac{\sin 1{,}5 - \sin 0{,}5}{1} \approx 0{,}5181, \qquad D(0{,}25) = \frac{\sin 1{,}25 - \sin 0{,}75}{0{,}5} \approx 0{,}5347.

Истинное значение производной - f(1)=cos10,5403f'(1) = \cos 1 \approx 0{,}5403. Ошибка при шаге 0,50{,}5 составляет примерно 0,0222-0{,}0222, при шаге 0,250{,}25 - около 0,0056-0{,}0056: уменьшение шага вдвое дало уменьшение ошибки почти в четыре раза, как и предсказывает порядок p=2p=2. Теперь соберём экстраполяцию:

R=40,53470,518130,540232.R = \frac{4 \cdot 0{,}5347 - 0{,}5181}{3} \approx 0{,}540232.

Ошибка результата - примерно 0,00007-0{,}00007, то есть почти в 320 раз меньше ошибки при шаге 0,50{,}5 и на два порядка меньше ошибки при шаге 0,250{,}25. Это и есть эффект перехода с порядка h2h^2 на порядок h4h^4: при следующем уполовинивании шага сырая разность ускорится в 4 раза, а экстраполяция Ричардсона - примерно в 16 раз.

Как быстро растёт точность с уменьшением шага

Чтобы увидеть разницу порядков глазами, удобно построить график ошибки от шага в логарифмических координатах по обеим осям. На таком графике степенная зависимость ошибкаhp\text{ошибка} \sim h^p превращается в прямую линию с наклоном pp: у сырой центральной разности наклон около 2, у экстраполяции Ричардсона - около 4. Чем круче линия, тем быстрее метод набирает точность при уменьшении шага.

Продолжив уполовинивание шага дальше - до h=0,125h=0{,}125, h=0,0625h=0{,}0625 и так далее, - легко проверить закономерность численно: отношение соседних ошибок сырой разности стабильно приближается к 4, а отношение соседних ошибок экстраполяции Ричардсона - к 16. Это прямое следствие показателя степени: при p=2p=2 уменьшение шага вдвое уменьшает h2h^2 ровно в 4 раза, а при эффективном порядке 4 - в 24=162^4=16 раз. Такая проверка на практике служит хорошим тестом правильности реализации: если отношение ошибок экстраполированных значений не приближается к ожидаемой степени двойки, значит, в вычислениях или в порядке pp есть ошибка.

Ошибка сырой центральной разности и экстраполяции Ричардсона на логарифмических осях: линия Ричардсона идёт значительно круче, показывая переход от порядка h² к порядку h⁴
Ошибка сырой центральной разности и экстраполяции Ричардсона на логарифмических осях: линия Ричардсона идёт значительно круче, показывая переход от порядка h² к порядку h⁴

Метод Ромберга: экстраполяция для интегралов

Экстраполяция Ричардсона не привязана к производным - она применяется к любому методу с известным порядком ошибки. Классический пример - метод Ромберга: сначала интеграл считается методом трапеций с шагами hh и h/2h/2 (порядок ошибки трапеций p=2p=2), затем к двум результатам применяется та же формула R=(4T(h/2)T(h))/3R = (4T(h/2) - T(h))/3, что даёт точность уровня правила Симпсона без явного вычисления по формуле Симпсона. Если продолжить процесс, комбинируя уже экстраполированные значения между собой с новым порядком p=4p=4, получится ещё более точное приближение - это и есть таблица Ромберга, где каждый столбец повышает порядок точности на единицу по сравнению с предыдущим.

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

  • Неверно определён порядок метода. Если взять множитель 2p2^p не для того pp, экстраполяция не устранит главный член ошибки, а исказит результат ещё сильнее.
  • Шаги берутся не в отношении 2. Формула R=(2pF(h/2)F(h))/(2p1)R = (2^p F(h/2) - F(h))/(2^p-1) выведена именно для уполовинивания шага; при произвольном отношении шагов rr вместо 2p2^p нужно подставлять rpr^p.
  • Путаница между сырым приближением и экстраполированным. После расчёта RR дальнейшие оценки точности нужно вести относительно RR, а не продолжать сравнивать между собой исходные F(h)F(h) и F(h/2)F(h/2).
  • Забыт следующий член разложения. Экстраполяция убирает только главный член ошибки; остаточный член O(hp+1)O(h^{p+1}) никуда не девается, просто становится меньше на порядок.
  • Применение к методу без гладкого разложения ошибки. Если функция имеет разрыв или особенность на отрезке, разложение F(h)=F+Chp+F(h) = F + Ch^p + \dots может не выполняться, и экстраполяция не даст ожидаемого ускорения.

FAQ

Зачем нужна экстраполяция Ричардсона, если можно просто уменьшить шаг? Уменьшение шага даёт линейный (по порядку метода) прирост точности и требует пропорционально больше вычислений в сложных задачах. Экстраполяция получает прирост на целый порядок практически бесплатно - используя уже посчитанные значения при двух шагах.

Можно ли применить экстраполяцию несколько раз подряд? Да, это и есть идея метода Ромберга: экстраполированные значения одного уровня комбинируются между собой по той же формуле, но с новым, увеличенным на единицу порядком pp, и точность растёт дальше.

Какой порядок pp нужно знать заранее? Порядок ошибки самого базового метода: для центральной разности это p=2p=2, для метода трапеций тоже p=2p=2, для одностороннего разностного приближения производной - p=1p=1. Порядок обычно известен из теоремы о разложении ошибки конкретного метода.

Что делать, если порядок метода неизвестен заранее? Его можно оценить экспериментально: посчитать приближение при трёх шагах hh, h/2h/2, h/4h/4 и по отношению последовательных разностей (F(h)F(h/2))/(F(h/2)F(h/4))(F(h)-F(h/2))/(F(h/2)-F(h/4)) найти степень двойки, которой равно это отношение - это и будет порядок pp. Такой приём часто применяют, когда аналитический вывод разложения ошибки слишком громоздкий.

Коротко

Экстраполяция Ричардсона комбинирует два приближения одного и того же метода, посчитанные с шагами hh и h/2h/2, по формуле R=(2pF(h/2)F(h))/(2p1)R = (2^p F(h/2) - F(h)) / (2^p - 1), где pp - известный порядок ошибки метода. Комбинация устраняет главный член ошибки и повышает точность результата на один порядок, а при повторном применении к уже экстраполированным значениям превращается в метод Ромберга. Приём работает для любых численных методов с гладким разложением ошибки по степеням шага - от производных до интегралов и разностных схем.

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

Открыть EssayAI

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

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

Метод половинного деления: решение нелинейного уравнения

Метод половинного деления: решение нелинейного уравнения

Метод половинного деления для решения нелинейного уравнения: условие смены знака, формула середины отрезка, оценка числа итераций и разбор типовой задачи с корнем x^3 - x - 2 = 0.

11 июня 20268 минут
Метод секущих для корня уравнения: формула и шаги

Метод секущих для корня уравнения: формула и шаги

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

11 июня 20269 минут
Метод золотого сечения: поиск минимума функции

Метод золотого сечения: поиск минимума функции

Метод золотого сечения для нахождения минимума функции: принцип работы, формулы x1 и x2, скорость сходимости phi^n, примеры задач и типичные ошибки студентов.

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

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

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

11 июня 20266 минут
Вторая интерполяционная формула Ньютона: разбор и формула

Вторая интерполяционная формула Ньютона: разбор и формула

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

11 июня 20268 минут
Метод касательных Ньютона для корня уравнения

Метод касательных Ньютона для корня уравнения

Метод касательных Ньютона для корня уравнения: вывод итерационной формулы, геометрический смысл касательной, условие и квадратичная скорость сходимости, выбор начального приближения.

11 мая 20268 минут