Интерполирование сплайнами
Интерполирование многочленом Лагранжа или Ньютона на всем отрезке с использованием большого числа узлов интерполяции часто приводит к плохому приближению, что объясняется сильным накоплением погрешностей в процессе вычислений. Кроме того, из-за расходимости процесса интерполяции увеличение числа узлов не обязано приводить к повышению точности. Для того, чтобы избежать больших погрешностей, весь отрезок разбивают на частичные отрезки и на каждом частичном отрезке приближенно заменяют функцию многочленом невысокой степени (так называемая, кусочно-полиномиальная интерполяция).
Одним из способов интерполирования на всем отрезке является интерполирование с помощью сплайн-функций. Сплайн-функцией или сплайном называют кусочно-полиномиальную функцию, определенную на отрезке и имеющую на этом отрезке некоторое число непрерывных производных.
Преимуществом сплайнов перед обычной интерполяцией является, во-первых, их сходимость и, во-вторых, устойчивость процесса вычислений.
Рассмотрим построение кубического сплайна.Пусть на задана непрерывная функция . Введем сетку
и обозначим , .
Кубическим сплайном, соответствующим данной функции и данным узлам называется функция , удовлетворяющая следующим условиям:
а) на каждом сегменте , , функция является многочленом третьей степени.
б) функция , а также ее первая и вторая производные непрерывны на .
в) , .
Последнее условие называется условием интерполирования,а сплайн, определяемый условиями а)-в), называется также интерполяционным кубическим сплайном.
Докажем существование и единственность сплайна, определяемого перечисленными выше условиями. Приведенное ниже доказательство содержит также способ построения сплайна.
На каждом из отрезков , будем искать функцию = в виде многочлена третьей степени
= , , , (2.19)
где коэффициенты, подлежащие определению. Смысл введенных коэффициентов очевиден:
.
Из условий интерполирования , . Доопределим, кроме того, .
Требование непрерывности функции приводит к условиям
, ,
отсюда, учитывая выражение для функции , получаем при уравнения
.
Обозначая , перепишем это уравнение в виде
, . (2.20)
Условие непрерывности первой производной
,
приводят к уравнениям
, . (2.21)
Из условия непрерывности второй производной
, ,
получаем уравнения
, . (2.22)
Объединяя (2.20)-(2.22), получаем систему уравнений относительно неизвестных , .
Недостающие уравнения получают, задавая те или иные граничные условия для . Предположим, например, что функция удовлетворяет условию . Тогда естественно требовать, чтобы . Отсюда получаем , т.е. , .
Таким образом, приходим к замкнутой системе уравнений для определения коэффициентов кубического сплайна:
, , , (2.23)
, , (2.24)
, . (2.25)
Методом исключения неизвестных, получаем (дом. задание №2)
, (2.26)
, .
Система уравнений (2.26) имеет единственное решение. Матрица полученной системы линейных алгебраических уравнений трехдиагональная. Решение такой системы уравнений можно найти методом прогонки. По найденным коэффициентам коэффициенты определяются с помощью явных формул
, . (2.27)
Итак, существует единственный кубический сплайн, определяемый условиями а)-в) и граничными условиями . Можно рассматривать и другие граничные условия.
Интерполирование кубическими сплайнами является сходящимся процессом. Это означает, что при неограниченном увеличении числа узлов соответствующая последовательность сплайн-функций сходится к интерполируемой функции . Оценки погрешности интерполяции зависят от выбора сеток и от гладкости .
Если рассматривать последовательность равномерных сеток
с шагом . В этом случае система уравнений (2.26)-(2.27) существенно упрощается:
,
, . (2.28)
Можно получить оценку
, (2.29)
где , кубический сплайн, построенный для функции на сетке .