Пусть на отрезке [a, b] задана функция y = f(x). Рассмотрим сетку узлов
a=x0 < x1 <x2 < … < xn = b (1)
и обозначим расстояние между смежными узлами:
hi = xi – xi-1, i=1, 2, …, n (2)
Определение. Назовем кубическим сплайном функции y = f(x), х Î [a; b] на сетке (2) функцию S(x), удовлетворяющую условиям:
1. На каждом частичном отрезке [xi-1; xi] функция S(x) является полиномом третьей степени.
2. Функция S(x), ее первая S'(x) и вторая S''(x) производные непрерывны на сегменте [a; b].
3. В узлах интерполяции сплайн принимает значения интерполируемой функции:
S(xi) = f(xi) = fi, i=0, 1, 2, …, n.
4. На концах сегмента [a; b] вторая производная функции S''(x) удовлетворяет условиям S''(а)= S''(b)=0.
Замечание. На концах сегмента [a; b], в принципе, могут быть заданы и другие условия, например, S''(а)=А, S''(b)=В.
Справедлива следующая теорема.
Теорема.Существует единственный сплайн S(x), удовлетворяющий условиям 1-4.
Проведем доказательство теоремы конструктивным способом, т.е. сведем задачу построения сплайна к определению коэффициентов частичных полиномов третьей степени на каждом из отрезков [xi-1; xi]. Для этого сопоставим отрезку [xi-1; xi] полином Si (x).
Для удобства запишем полином Si (x) в виде:
(3)
При этом очевидно, что
(4)
(5)
Подставив xiв (3), (4), (5), получим:
, , (6)
Отсюда следует, что для выполнения условия 3 в узлах интерполяции
: , i= 1, 2, …, n (7)
Требуя непрерывности сплайна в узлах xi , i= 1, 2, …, n-1 и выполнения условия 3 при i=0, получаем:
, i= 1, 2, …, n (8)
или
Это равенство можно переписать следующим образом:
(9)
Условие 2 относительно непрерывности первой производной S'(x) в узлах xi, i = 1, … n-1, принимает вид:
(10)
и приводит к соотношениям
или
(11)
Аналогичным образом условия непрерывности второй производной S'' (x) в тех же узлах
(12)
означают, что
(13)
Наконец, дополнительные граничные условия 4 дают еще два уравнения:
(14)
В итоге мы получили замкнутую систему (9), (11), (13), (14), содержащую в сумме 3п линейных уравнений для отыскания 3п неизвестных: bi, сi , di, i=1,2,…, n.
Удобно формально ввести еще одно неизвестное с0, положив при этом что оно равно нулю: с0 = 0, и первое уравнение в (14) переписать в виде
,
т.е. в форме, аналогичной (13).
Теперь уравнения (13), (14) естественно представить в единообразном виде:
(15)
(16)
Обратим внимание на то, что из системы (15) можно выразить все коэффициенты diчерез разности , а затем из системы (9) выразить через ci и ci-1 все коэффициенты bi. Подставляя полученные выражения в (11), приходим к системе линейных уравнений для ci:
(17)
Сдвигая индекс i на единицу, получаем симметрическую форму записи уравнений (17):
(18)
Кроме того, согласно (16)
с0 = сп = 0 (19)
Система (18) содержит (п-1) уравнение с (п-1)-м неизвестным:
с1, с2, …, сп-1.
Величины с0и сп определены дополнительными соотношениями (19). Если сетка (1) равномерная, т.е. hi=h=const, то уравнения (18) принимают особенно простой вид:
(20)
Для уравнений системы (18) выполнено условие диагонального преобладания. Отсюда следует существование и единственность решения задачи (18), (19). Зная величины ci, можно рассчитать остальные коэффициенты сплайна по формулам
(21)
(22)
завершив тем самым построение сплайна. Теорема доказана.