Сплайн-интерполяция.
Определение 3.2 Сплайн (англ. spline - рейка, линейка) - это определенная в некоторой области G ∈ Rn кусочно-полиномиальная функция из класса Cr(G).
Таким образом в соответствии с определением существует разбиение области G на подобласти такое, что внутри каждой подобласти сплайн представляет собой полином некоторой степени М.
Определение 3.3 Интерполяция при помощи сплайнов называется сплайн-интерполяцией.
Рассмотрим одномерный случай (n=1) и наиболее употребительную кубическую сплайн-интерполяцию (M=3) из класса C2 (r=2).
Математическая постановка.
Пусть известные значения некоторой функции f(x) образуют таблицу 3.2 на отрезке [a,b], где a ≡ x0 < x1 < ... < xN ≡ b
| x | x0 | x1 | ... | xN | 
| f | f0 | f1 | ... | fN | 
Таблица 3.2: Табличная функция.
Требуется построить по данной таблице интерполяционный кубический сплайн из класса C2, то есть функцию g(x) со следующими свойствами:
1) g(x) C2 [a,b]
C2 [a,b] 
2) на любом отрезке [xi-1 , xi], i = 1, ..., N функция g(x) является полиномом третьей степени,
3) g(xi ) = fi , i = 0, ..., N. 
 
Для однозначного решения этой задачи добавим 
следующее часто используемое условие:
4) g''(a)=g''(b)=0
ТЕОРЕМА 3.3 Функция, удовлетворяющая свойствам 1)-4), существует и единственна.
ДОКАЗАТЕЛЬСТВО Так как по свойству 
1) функция g''(x) непрерывна на [a,b] и по свойству 
2) линейна на каждом отрезке [xi-1 - x],  i= 1, ...,N 
то можно записать  x
x [xi-1,xi] следующее представление:
[xi-1,xi] следующее представление:
| g''(x) = mi-1(xi - x)/hi + mi(x - xi-1 )/hi | (3.7) | 
|---|
где hi=xi-xi-1 , mi=g''(xi). Проинтегрируем равенство (3.7) дважды. Получим:
| g(x) = mi-1(xi - x)3/6hi + mi(x - xi-1 )3/6hi + Ai(xi - x)/hi + Bi(x - xi-1 )/hi | (3.8) | 
|---|
где Ai, Bi - некоторые константы интегрирования. Найдем Ai и Bi, подставляя значения xi и xi-1 в (3.8):
fi = g(xi ) = mi hi2/6 + Bi , следовательно, Bi = fi - mi hi2/6
fi-1 = g(xi-1 ) = mi-1 hi2/6 + Ai , следовательно Ai = fi-1 - mi-1 hi2/6
Подставляя Ai и Bi в (3.8) получим равенство:
| g(x) = mi-1(xi - x)3/6hi + mi(x - xi-1 )3/6hi + (fi-1 - mi-1 hi2/6)(xi - x)/hi + (fi - mi hi2/6)(x - xi-1 )/hi | (3.9) | 
|---|
Тогда производная функции g(x) на [xi-1,xi] имеет вид:
| g'(x) = -mi-1(xi - x)2/2hi + mi(x - xi-1 )2/2hi + mi-1 hi/6 - mi hi/6 + (fi - fi-1 )/hi | (3.10) | 
|---|
Пользуясь формулой (3.10) найдем односторонние (слева и справа) пределы функции g'(x) в точках xi , i = 1, ..., N:
g'(xi - 0) = mi-1 hi /6 + mi hi /3 + (fi - fi-1 )/hi;
g'(xi + 0) = -mi hi+1 /3 - mi+1 hi+1 /6 + (fi+1 - fi )/hi+1
(последнее равенство получено из (3.10) заменой индекса i на i+1, то есть переходом на отрезок [xi,xi+1]). Так как по свойству 1) функция g'(x) непрерывна на отрезке [a,b], то приравнивая g'(xi+0) и g'(xi-0), i = 1, ..., N-1 получаем N-1 уравнение:
| mi-1 hi /6 + mi (hi + hi+1 )/3 + mi+1 hi+1 /6 = (fi+1 - fi )/hi+1 - (fi - fi-1 )/hi , i = 1, ..., N-1 | (3.11) | 
|---|
Учитывая, что по свойству 4) имеют место равенства
| g''(x0)≡m0=0, g''(xN)≡mN=0 | (3.12) | 
|---|
получаем линейную алгебраическую систему для нахождения неизвестных m1 , ..., mN-1:
|  | (3.13) | 
|---|
где
 
	
Очевидно, что матрица A имеет строгое диагональное преобладание. Но из курса алгебры известно, что такие матрицы невырождены.
Следовательно, система  однозначно разрешима относительно 
вектора
 однозначно разрешима относительно 
вектора  , 
а тем  самым  функция 
со  свойствами   1)-4)  существует, единственна и представляется формулой (3.9).
, 
а тем  самым  функция 
со  свойствами   1)-4)  существует, единственна и представляется формулой (3.9).
ЗАМЕЧАНИЕ 3.7 На практике 
сплайн вычисляется на каждом отрезке 
[xi-1 , xi], i = 1, ..., N по формуле 
(3.9), с использованием табличной функции 3.2, 
равенств (3.12) и вектора  ,
являющегося решением системы (3.13).
,
являющегося решением системы (3.13).
Оценку погрешности при сплайн-интерполяции дает следующее
УТВЕРЖДЕНИЕ 3.3 
[3, стр.148]
Если интерполируемая функция f(x)  C 4[a,b], то для функции погрешности 
R(x)=f(x)-g(x) справедливо неравенство:
C 4[a,b], то для функции погрешности 
R(x)=f(x)-g(x) справедливо неравенство: 
| (3.14) | 
|---|
где 
 
Меньше ограничений на функцию f(x) накладывает
УТВЕРЖДЕНИЕ 3.4 [11, стр.98]
Если интерполируемая функция 
f(x) C 3[a,b] и разбиение 
отрезка [a,b] узлами интерполяции является равномерным 
(h=hi=const), 
то для функции погрешности 
R(x)=f(x)-g(x) справедливо неравенство:
C 3[a,b] и разбиение 
отрезка [a,b] узлами интерполяции является равномерным 
(h=hi=const), 
то для функции погрешности 
R(x)=f(x)-g(x) справедливо неравенство: 
|  | (3.15) | 
|---|
где 
