Кубический сплайн — гладкая функция, область определения которой разбита на конечное число отрезков, на каждом из которых она совпадает с некоторым кубическим многочленом (полиномом).
Описание Функция задана на отрезке , разбитом на части , . Кубическим сплайном дефекта 1 (разность между степенью многочлена и высшим порядком его непрерывной производной) называется функция , которая:
на каждом отрезке является многочленом степени не выше третьей; имеет непрерывные первую и вторую производные на всём отрезке ; в точках выполняется равенство , т. е. сплайн интерполирует функцию в точках .
Для однозначного задания сплайна перечисленных условий недостаточно, для построения сплайна необходимо наложить дополнительные требования — граничные условия:
"Естественный сплайн" — граничные условия вида: ; Непрерывность второй производной — граничные условия вида: ; Периодический сплайн — граничные условия вида: и .
Теорема: Для любой функции и любого разбиения отрезка на части существует ровно один естественный сплайн , удовлетворяющий перечисленным выше условиям.
Эта теорема является следствием более общей теоремы Шёнберга-Уитни об условиях существования интерполяционного сплайна.
Кубические сплайны с дефектом равным 1 называются глобальными. Локальные кубические сплайны имеют непрерывной только первую производную, т. е. дефект равен 2, но они проще глобальныхПростейший локальный кубический сплайн для равно отстоящих данных из справочника Дьяконова на Borland Turbo Basic'е и Borland C++ 5.5Простейший локальный кубический сплайн для произвольно отстоящих данных из учебного пособия Амосова на Borland Turbo Basic'е.
Построение На каждом отрезке функция есть ряд Тейлора, усечённый до третьей степениГлобальный кубический сплайн, программа на Borland Turbo Basic:
,
коэффициенты которого надо определить. Запишем для удобства в виде:
(1)
тогда
Условия непрерывности функции и всех производных, до второго порядка включительно, записываются в виде
где меняется от до а условия интерполяции — в виде
где меняется от до и
Обозначим.
Для нахождения коэффициентов составляется СЛАУ с трёхдиагональной матрицей по формуле:
с граничными условиями для "естественного сплайна" и (). Коээфициенты находятся решением трёхдиагональной СЛАУ методом прогонки Томаса. После нахождения коэффициентов сплайн можно интерполировать по формуле кубического сплайна в другом виде:
,
где - это вторая производная, а для интерполирования сплайна в виде многоряда Тэйлора нужно ещё вычислить коэффициенты сплайна по формулам:
, , .
Интерполяция производится по формуле (1).
Литература
Ссылки Интерполяция кубическими сплайнами на JavaScript (рус.) Cubic Interpolation
Примечания
Категория:Сплайны Категория:Численные методы Категория:Интерполяция