Кубический сплайн — гладкая функция, область определения которой разбита на конечное число отрезков, на каждом из которых она совпадает с некоторым кубическим многочленом (полиномом).
Описание
Функция задана на отрезке , разбитом на части , . Кубическимсплайном дефекта 1 (разность между степенью многочлена и высшим порядком его непрерывной производной) называется функция, которая:
- на каждом отрезке является многочленом степени не выше третьей;
- имеет непрерывные первую и вторую производные на всём отрезке ;
- в точках выполняется равенство , т. е. сплайн интерполирует функцию в точках .
Для однозначного задания сплайна перечисленных условий недостаточно, для построения сплайна необходимо наложить дополнительные требования — граничные условия:
- "Естественный сплайн" — граничные условия вида: ;
- Непрерывность второй производной — граничные условия вида: ;
- Периодический сплайн — граничные условия вида: и .
Теорема: Для любой функции и любого разбиения отрезка на части существует ровно один естественный сплайн , удовлетворяющий перечисленным выше условиям.
Эта теорема является следствием более общей теоремы Шёнберга-Уитни об условиях существования интерполяционного сплайна.
Кубические сплайны с дефектом равным 1 называются глобальными. Локальные кубические сплайны имеют непрерывной только первую производную, т. е. дефект равен 2, но они проще глобальных[1][2].
Построение
На каждом отрезке функция есть ряд Тейлора, усечённый до третьей степени[3]:
- ,
коэффициенты которого надо определить. Запишем для удобства в виде:
- (1)
тогда
Условия непрерывности функции и всех производных, до второго порядка включительно, записываются в виде
где меняется от до а условия интерполяции — в виде
где меняется от до и
Обозначим.
Для нахождения коэффициентов составляется СЛАУ с трёхдиагональной матрицей по формуле:
с граничными условиями для "естественного сплайна" и (). Коээфициенты находятся решением трёхдиагональной СЛАУ методом прогонки Томаса. После нахождения коэффициентов сплайн можно интерполировать по формуле кубического сплайна в другом виде:
,
где - это вторая производная, а для интерполирования сплайна в виде многоряда Тэйлора нужно ещё вычислить коэффициенты сплайна по формулам:
- ,
- ,
- .
Интерполяция производится по формуле (1). [4]
Литература
- de Boor, Carl. A Practical Guide to Splines. — New York: Springer-Verlag, 1978.
- de Boor, Carl. A Practical Guide to Splines. Revised Edition. — New York: Springer-Verlag, 2001.
- Роджерс Д., Адамс Дж. Математические основы машинной графики. — М.: Мир, 2001. — ISBN 5-03-002143-4.
- Костомаров Д. П., Фаворский А. П. Вводные лекции по численным методам.
- Стечкин С.Б., Субботин Ю. Н. Сплайны в вычислительной математике. — М.: Главна редакция физико-математической литературы издательства "Наука", 1976. — 248 с.
- Дьяконов В. П. Справочник по алгоритмам и программам на языке бейсик для персональных ЭВМ. Справочник. — М.: Наука. Гл. ред. физ.-мат. лит., 1989. — 240 с.
- Волков Е. А. Глава 1. Приближение функций многочленами. § 11. Сплайны // Численные методы. — Учеб. пособие для вузов. — 2-е изд., испр.. — М.: Наука, 1987. — С. 63-68. — 248 с.
- Амосов А.А., Дубинский Ю.А., Копчёнова Н.В. Вычислительные методы для инженеров: Учеб. пособие. — М.: Высш. шк., 1994. — 544 с. — ISBN 5-06-000625-5.
Ссылки
Примечания
- ↑Простейший локальный кубический сплайн для равно отстоящих данных из справочника Дьяконова на Borland Turbo Basic'е и Borland C++ 5.5
- ↑Простейший локальный кубический сплайн для произвольно отстоящих данных из учебного пособия Амосова на Borland Turbo Basic'е
- ↑Глобальный кубический сплайн, программа на Borland Turbo Basic
- ↑Аристова Е. Н., Завьялова Н. А., Лобанов А. И. Практические занятия по вычислительной математике Часть 1. — 2014. — С. 159-160. — 243 с. — ISBN 978-5-7417-0541-4.
- ↑Boor, 1978.