Интерполяция алгебраическими многочленами
Интерполя́ция алгебраи́ческими многочле́нами функции действительного аргумента на отрезке — нахождение коэффициентов многочлена степени меньшей или равной , принимающего при значениях аргумента значения , множество называют узлами интерполяции:
Система линейных алгебраических уравнений, определяющих коэффициенты такого многочлена, имеет вид:
Её определителем является определитель Вандермонда.
Он отличен от нуля при всяких попарно различных значениях , и интерполирование функции по её значениям в узлах с помощью многочлена всегда возможно и единственно.
Применение
Полученную интерполяционную формулу часто используют для приближённого вычисления значений функции при значениях аргумента , отличных от узлов интерполирования. При этом различают интерполирование в узком смысле, когда , и экстраполирование, когда .
Задача интерполяции в пространстве
Пусть в пространстве заданы точек , которые в некоторой системе координат имеют радиус-векторы
Задача интерполяции состоит в построении кривой, проходящей через указанные точки в указанном порядке.
Решение задачи
Через фиксированный упорядоченный набор точек можно провести бесконечное число кривых, поэтому задача интерполяции произвольной функцией не имеет единственного решения. Для единственности решения необходимо наложить определённые ограничения на вид функции.
Будем строить кривые в виде , где параметр изменяется на некотором отрезке :
- .
Введем на отрезке сетку из точек: и потребуем, чтобы при значении параметра кривая проходила через точку , так что
Введение параметризации и сетки может быть выполнено различными способами. Обычно выбирают либо равномерную сетку, полагая , , , либо, что более предпочтительно, соединяют точки отрезками и в качестве разности значений параметра берут длину отрезка .
Одним из распространенных способов интерполяции является использование кривой в виде многочлена от степени , то есть в виде функции:
Многочлен имеет коэффициентов , которые можно найти из условий:
Эти условия приводят к системе линейных уравнений для коэффициентов :
Обратим внимание, что для отыскания коэффициентов, например, в трёхмерном пространстве нужно решить три системы уравнений: для , и координат. Все они имеют одну матрицу коэффициентов, обращая которую по значениям радиус-векторов точек вычисляются векторы коэффициентов многочлена. Определитель матрицы
называется определителем Вандермонда. Если узлы сетки не совпадают, он отличен от нуля и система уравнений имеет единственное решение.
Кроме прямого обращения матрицы, имеются несколько других способов вычисления интерполяционного многочлена. В силу единственности многочлена речь идет о различных формах его записи.
Преимущества
- Для заданного набора точек и сетки параметра кривая строится однозначно.
- Кривая является интерполяционной, то есть проходит через все заданные точки.
- Кривая имеет непрерывные производные любого порядка.
Недостатки
- С ростом числа точек порядок многочлена возрастает, а вместе с ним возрастает число операций, которое нужно выполнить для вычисления точки на кривой.
- С ростом числа точек у интерполяционной кривой могут возникнуть осцилляции (см. пример ниже).
- С ростом числа точек плохо подходит для экстраполяции, так как значение многочлена степени вне отрезка интерполяции всегда расходится к бесконечности (тем быстрее, чем больше ) вне зависимости от сходимости экстраполируемой функции.
Пример
Классическим примером (Рунге), показывающим возникновение осцилляций у интерполяционного многочлена, служит интерполяция на равномерной сетке значений функции
Введем на отрезке равномерную сетку , , и рассмотрим поведение многочлена который в точках принимает значения .
На рисунке представлены графики самой функции (штрих-пунктирная линия) и трех интерполяционных кривых при :
- интерполяция на сетке — квадратичная парабола;
- интерполяция на сетке — многочлен четвёртой степени;
- интерполяция на сетке — многочлен восьмой степени.
Значения интерполяционного многочлена даже для гладких функций в промежуточных точках, не совпадающих с узлами интерполяции, могут сильно уклоняться от значений самой функции, такое поведение многочлена называют осцилляциями.