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

Интерполяция Ньютона: таблица разделённых разностей

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

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

Формула

$$P_n(x)=f[x_0]+\sum_{k=1}^{n}f[x_0,\ldots,x_k]\prod_{j=0}^{k-1}(x-x_j),\quad f[x_i,\ldots,x_j]=\frac{f[x_{i+1},\ldots,x_j]-f[x_i,\ldots,x_{j-1}]}{x_j-x_i}$$
Схема Таблица разделённых разностей
Таблица разделённых разностейТаблица разделённых разностейxf1-й порядок2-й порядок0111124—310——Полином 1 + x + x(x − 1)

Полином 1 + x + x(x − 1)

Обозначения

$x_i$
узлы аргумента в выбранном порядке, единица аргумента
$f[x_i]$
заданное значение f в узле, единица функции
$f[x_i,\ldots,x_j]$
разделённая разность порядка j−i, единица функции / единица аргумента^(j−i)
$P_n(x)$
полином степени не выше n, единица функции
$n$
число узлов минус один, целое неотрицательное число

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

Аргументы различных узлов не совпадают. Порядок данных сохраняют при построении таблицы и произведений. Для обычной интерполяции задаются значения без производных; повторные узлы в формуле со знаменателем xⱼ−xᵢ требуют другого, эрмитова, определения.

Ограничения

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

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

Нулевая разделённая разность — само значение функции. Первая сравнивает два значения на единицу расстояния между аргументами. Вторая сравнивает две соседние первые разности и делит их разность на весь охватываемый интервал. Так последовательно строится треугольная таблица.

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

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

При неравномерной сетке знаменатели различаются. Использование одного шага вместо xⱼ−xᵢ меняет полином. Именно разделённые разности обобщают удобную табличную организацию на произвольные различные узлы.

Для вычисления значения произведения можно организовать вложенно, подобно схеме Горнера. При этом размерность коэффициента порядка k компенсируется k множителями аргумента. После суммирования все члены имеют единицу функции. Проверка исходных узлов помогает обнаружить ошибки индексов и интервалов.

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

  1. Запишите нулевой столбец значений и аргументы; сохраните выбранный порядок, проверив отсутствие совпадающих узлов.
  2. Найдите соседние первые разности, затем следующие столбцы, каждый раз деля разность на полный охватываемый интервал.
  3. Возьмите коэффициенты, начинающиеся с первого узла, и умножьте их на последовательные произведения (x−x₀), (x−x₀)(x−x₁).
  4. Вычислите значение вложенной формой или прямой суммой, затем проверьте все исходные узлы и размерности членов.

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

Название связывает эту форму с ньютоновской традицией анализа XVII века и работой с таблицами и последовательными разностями. Её современная алгебраическая особенность — наращивание полинома членами, которые не меняют уже согласованные узлы. В справочнике NIST DLMF разделённые разности рассматриваются как отдельное представление того же единственного интерполяционного полинома. Это позволяет отличать историческое имя от предположения о равномерной сетке: нынешняя запись применима и к произвольным различным аргументам. В численной практике к алгебре добавляется контроль порядка узлов и округления, поскольку математически эквивалентные вычисления не обязаны давать одинаковую машинную ошибку. Статья не датирует первенство каждой современной рекурсивной реализации.

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

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

Пример

Даны (0;1), (1;2), (3;10). Первая разность f[0,1] = (2−1)/(1−0) = 1; следующая f[1,3] = (10−2)/(3−1) = 4. Вторая разность f[0,1,3] = (4−1)/(3−0) = 1. Поэтому P(x) = 1+x+x(x−1). В точке x = 2 получаем 1+2+2 = 5. Независимая проверка раскрытием скобок даёт P(x) = 1+x². В узлах 0,1,3 это возвращает 1,2,10. Здесь все аргументы и значения безразмерны. Существенен знаменатель 3−1 = 2 во второй первой разности: нельзя делить разность 10−2 на соседний индекс вместо расстояния аргументов. Точный полином этих трёх данных найден, а ошибка относительно иной неизвестной функции требует отдельной информации.

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

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

Практика

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

Неравномерная сетка

Условие. Для (0;0), (2;4), (5;25) найдите P(1).

Решение. Первые разности: 4/2 = 2 и (25−4)/(5−2) = 7. Вторая: (7−2)/(5−0) = 1. Получаем P(1) = 2·1+1·1·(1−2) = 1.

Ответ. P(1) = 1.

Добавление четвёртого узла

Условие. К примеру (0;1),(1;2),(3;10) добавлен (4;17). Нужен ли кубический член?

Решение. Старая формула 1+x² при x = 4 даёт 17. Новое условие уже выполнено, поэтому коэффициент при x(x−1)(x−3) равен нулю.

Ответ. Нет; кубический коэффициент 0.

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

  • https://dlmf.nist.gov/3.3
  • https://fncbook.com/polynomial/
  • https://mathshistory.st-andrews.ac.uk/Biographies/Newton/

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

Математика

Линейная интерполяция: значение между двумя узлами

$P(x)=y_0+\frac{y_1-y_0}{x_1-x_0}(x-x_0)=(1-t)y_0+ty_1,\quad t=\frac{x-x_0}{x_1-x_0}$

Линейная интерполяция оценивает значение между двумя заданными точками по соединяющей их прямой. Доля положения внутри интервала задаёт веса концов; оценка учитывает наклон, но не кривизну исходного графика.

Математика

Интерполяция Лагранжа: полином через заданные точки

$P_n(x)=\sum_{k=0}^{n}y_kL_k(x),\qquad L_k(x)=\prod_{\substack{0\leq j\leq n\\j\ne k}}\frac{x-x_j}{x_k-x_j}$

Формула Лагранжа строит полином степени не выше n по n+1 различным узлам. Каждый базисный множитель выбирает значение своего узла и обращает вклады остальных узлов в ноль.

Математика

Кубическая интерполяция Эрмита по значениям и наклонам

$H(x)=h_{00}(s)y_0+h_{10}(s)\ell m_0+h_{01}(s)y_1+h_{11}(s)\ell m_1,\quad s=\frac{x-x_0}{\ell},\quad \ell=x_1-x_0$

Кубический полином Эрмита согласует значения и первые производные на двух концах интервала. Четыре заданных условия определяют единственную кубическую или более простую кривую между узлами.

Математика

Барицентрическая интерполяция: веса и вычисление полинома

$P(x)=\frac{\sum_{k=0}^{n}\dfrac{w_ky_k}{x-x_k}}{\sum_{k=0}^{n}\dfrac{w_k}{x-x_k}},\qquad w_k=\frac{1}{\prod_{j\ne k}(x_k-x_j)},\quad x\ne x_k$

Барицентрическая форма вычисляет полином Лагранжа через заранее рассчитанные веса узлов. Она удобна для множества запросов по одной таблице; при точном совпадении аргумента с узлом нужно сразу вернуть узловое значение.