Математика / Начала анализа
Интерполяция Ньютона: таблица разделённых разностей
Форма Ньютона строит интерполяционный полином по треугольной таблице разделённых разностей. Новый узел добавляет коэффициент при очередном произведении, не требуя переписывать уже найденные нижние порядки.
Формула
Полином 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 множителями аргумента. После суммирования все члены имеют единицу функции. Проверка исходных узлов помогает обнаружить ошибки индексов и интервалов.
Как пользоваться формулой
- Запишите нулевой столбец значений и аргументы; сохраните выбранный порядок, проверив отсутствие совпадающих узлов.
- Найдите соседние первые разности, затем следующие столбцы, каждый раз деля разность на полный охватываемый интервал.
- Возьмите коэффициенты, начинающиеся с первого узла, и умножьте их на последовательные произведения (x−x₀), (x−x₀)(x−x₁).
- Вычислите значение вложенной формой или прямой суммой, затем проверьте все исходные узлы и размерности членов.
Историческая справка
Название связывает эту форму с ньютоновской традицией анализа 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/
Связанные формулы
Математика
Линейная интерполяция: значение между двумя узлами
Линейная интерполяция оценивает значение между двумя заданными точками по соединяющей их прямой. Доля положения внутри интервала задаёт веса концов; оценка учитывает наклон, но не кривизну исходного графика.
Математика
Интерполяция Лагранжа: полином через заданные точки
Формула Лагранжа строит полином степени не выше n по n+1 различным узлам. Каждый базисный множитель выбирает значение своего узла и обращает вклады остальных узлов в ноль.
Математика
Кубическая интерполяция Эрмита по значениям и наклонам
Кубический полином Эрмита согласует значения и первые производные на двух концах интервала. Четыре заданных условия определяют единственную кубическую или более простую кривую между узлами.
Математика
Барицентрическая интерполяция: веса и вычисление полинома
Барицентрическая форма вычисляет полином Лагранжа через заранее рассчитанные веса узлов. Она удобна для множества запросов по одной таблице; при точном совпадении аргумента с узлом нужно сразу вернуть узловое значение.