Интерполирование сплайнами
Интерполирование многочленом Лагранжа или Ньютона на всем отрезке с использованием большого числа узлов интерполяции часто приводит к плохому приближению, что объясняется сильным накоплением погрешностей в процессе вычислений. Кроме того, из-за расходимости процесса интерполяции увеличение числа узлов не обязано приводить к повышению точности. Для того, чтобы избежать больших погрешностей, весь отрезок
разбивают на частичные отрезки и на каждом частичном отрезке приближенно заменяют функцию
многочленом невысокой степени (так называемая, кусочно-полиномиальная интерполяция).
Одним из способов интерполирования на всем отрезке является интерполирование с помощью сплайн-функций. Сплайн-функцией или сплайном называют кусочно-полиномиальную функцию, определенную на отрезке и имеющую на этом отрезке некоторое число непрерывных производных.
Преимуществом сплайнов перед обычной интерполяцией является, во-первых, их сходимость и, во-вторых, устойчивость процесса вычислений.
Рассмотрим построение кубического сплайна.Пусть на задана непрерывная функция
. Введем сетку
и обозначим ,
.
Кубическим сплайном, соответствующим данной функции и данным узлам
называется функция
, удовлетворяющая следующим условиям:
а) на каждом сегменте ,
, функция
является многочленом третьей степени.
б) функция , а также ее первая и вторая производные непрерывны на
.
в) ,
.
Последнее условие называется условием интерполирования,а сплайн, определяемый условиями а)-в), называется также интерполяционным кубическим сплайном.
Докажем существование и единственность сплайна, определяемого перечисленными выше условиями. Приведенное ниже доказательство содержит также способ построения сплайна.
На каждом из отрезков ,
будем искать функцию
=
в виде многочлена третьей степени
=
,
,
, (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)
где ,
кубический сплайн, построенный для функции
на сетке
.