Кубічний сплайн — гладка функція, область визначення якої розбито на скінченне число відрізків, на кожному з яких вона збігається з деяким кубічним многочленом.
Функція
задано на відрізку
, розбитому на частини
,
. Кубічним сплайном дефекту 1 (різниця між степенем і гладкістю сплайна) називається функція
, яка:
- на кожному відрізку
є многочленом степеня не вище від трьох; - має неперервні першу і другу похідні на всьому відрізку
; - в точках
виконується рівність
, тобто сплайн
інтерполює функцію
в точках
.
Для однозначного задання сплайна перелічених умов недостатньо, для побудови сплайна необхідно накласти додаткові вимоги — граничні умови:
- «Природний сплайн» — граничні умови виду:
; - Неперервність другої похідної — граничні умови виду:
; - Періодичний сплайн — граничні умови виду:
і
.
Теорема. Для будь-якої функції
і будь-якого розбиття відрізка
на частини
існує рівно один природний сплайн
, що задовольняє переліченим вище умовам.
Ця теорема є наслідком загальнішої теореми Шенберга — Вітні про умови існування інтерполяційного сплайна.
На кожному відрізку
функція
є многочленом третього степеня
, коефіцієнти якого треба визначити. Запишемо для зручності
у вигляді:
![{\displaystyle S_{i}(x)=a_{i}+b_{i}(x-x_{i})+{c_{i}}(x-x_{i})^{2}+{d_{i}}(x-x_{i})^{3}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7e86a95aeb653cef5d756c0502ed7b25000779b8)
тоді
![{\displaystyle S_{i}\left(x_{i}\right)=a_{i},\quad S'_{i}(x_{i})=b_{i},\quad S''_{i}(x_{i})=2c_{i},\quad S'''_{i}\left(x_{i}\right)=6d_{i}\quad i={\overline {1,N}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d8bb3bee0c61686cb6b7891563cb769a74587d41)
Умови неперервності всіх похідних до другого порядку включно записуються у вигляді
![{\displaystyle S_{i}\left(x_{i-1}\right)=S_{i-1}(x_{i-1}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bbdfd5a74d997bdf27b937b411005e562d7b90df)
![{\displaystyle S'_{i}\left(x_{i-1}\right)=S'_{i-1}(x_{i-1}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4faebc948427b0067a32f3b34d03286485148ad5)
![{\displaystyle S''_{i}\left(x_{i-1}\right)=S''_{i-1}(x_{i-1}),}](https://wikimedia.org/api/rest_v1/media/math/render/svg/82c87d6f5725a7089dd60b29c0400ddc3ac24992)
де
змінюється від
до
а умови інтерполяції у вигляді
![{\displaystyle S_{i}\left(x_{i}\right)=f(x_{i}).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6058b3aa7cd3f60cbe920ceec0dcb052a2a23503)
Позначимо
Звідси отримуємо формули для обчислення коефіцієнтів «природного сплайна»:
;
;
;
, - причому
і
.
Якщо врахувати, що
, то
можна обчислити методом прогонки для тридіагональної матриці.
- de Boor, Carl. A Practical Guide to Splines. — New York : Springer-Verlag, 1978.
- Роджерс Д., Адамс Дж. Математические основы машинной графики. — 2-е, перераб. и доп. — М. : Мир, 2001. — ISBN 5-03-002143-4.
- Костомаров Д. П., Фаворский А. П. Вводные лекции по численным методам.
- Волков Е. А. Глава 1. Приближение функций многочленами. § 11. Сплайны // Численные методы. — Учеб. пособие для вузов. — 2-е изд., испр. — М. : Наука, 1987. — С. 63-68.