Кубический сплайн

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Onuch-v (обсуждение | вклад) в 19:22, 26 августа 2018. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Некоторая функция f(x) задана на отрезке , разбитом на части , . Кубическим сплайном дефекта 1 называется функция , которая:

  • на каждом отрезке является многочленом степени не выше третьей;
  • имеет непрерывные первую и вторую производные на всём отрезке ;
  • в точках выполняется равенство , т. е. сплайн интерполирует функцию f в точках .

Для однозначного задания сплайна перечисленных условий недостаточно, для построения сплайна необходимо наложить какие-то дополнительные требования.

Естественным кубическим сплайном называется кубический сплайн, удовлетворяющий также граничным условиям вида:

Теорема: Для любой функции и любого разбиения отрезка существует ровно один естественный сплайн S(x), удовлетворяющий перечисленным выше условиям.

Эта теорема является следствием более общей теоремы Шёнберга-Уитни об условиях существования интерполяционного сплайна.

Построение

На каждом отрезке функция есть полином третьей степени , коэффициенты которого надо определить. Запишем для удобства в виде:

тогда

Условия непрерывности всех производных до второго порядка включительно записываются в виде



а условия интерполяции в виде

Обозначим

Отсюда получаем формулы для вычисления коэффициентов сплайна:

Если учесть, что , то вычисление можно провести с помощью метода прогонки для трёхдиагональной матрицы.

Компьютерный код

Cubic Interpolation: C#-библиотека с открытым исходным кодом кубической интерполяции сплайном по алгоритму, изложенному Carl de Boor в своей книге. Автор: Вадим А. Онучин, Valex Corp. [1]

Примечания

Литература

  1. de Boor, Carl. A Practical Guide to Splines. — New York: Springer-Verlag, 1978.
  2. Роджерс Д., Адамс Дж. Математические основы машинной графики. — М.: Мир, 2001. — ISBN 5-03-002143-4.
  3. Костомаров Д. П., Фаворский А. П. Вводные лекции по численным методам.
  4. Волков Е. А. Глава 1. Приближение функций многочленами. § 11. Сплайны // Численные методы. — Учеб. пособие для вузов. — 2-е изд., испр.. — М.: Наука, 1987. — С. 63-68. — 248 с.


Ссылки