logo
ЭУМКД_ДиВМ3

5.3.1 Построение кубического сплайна

Пусть на отрезке в узлах сетки заданы значения некоторой функции , т.е. , (i= 0,1,…, n).

Сплайном, соответствующим этим узлам функции называется функция S(х), которая:

1) на каждом частичном отрезке является многочленом третьей степени;

функция и ее первые две производные непрерывны на ;

2) .

На каждом частичном отрезке будем искать сплайн , где многочлен третьей степени

. (5.8)

То есть для нужно построить такую функцию , где подлежат определению. Для всего отрезка интерполирования , таким образом, необходимо определить 4n неизвестных коэффициента.

Доопределим . Требование непрерывности функции S(x) приводит к условиям (i=0, 1,…,n-1).

Отсюда из (5.8) получаем следующие уравнения:

(i= 1,2,…,n-1).

Введем шаг интерполирования . Тогда последнее равенство можно переписать в виде (i= 1,2,…,n). Из непрерывности первой производной следует (i= 2,3,…,n), а из непрерывности второй производной (i= 2,3,…,n).

Объединив все три вида уравнений, получим систему из 3n-2 уравнений относительно 3n неизвестных . Два недостающих уравнения получим, задав граничные условия для функции S(x). Для этого воспользуемся граничными условиями для сплайн-функции в виде (концы гибкой линейки свободны).

Тогда получим систему уравнений

(5.9)

Решая систему методом подстановки (исключаем из (5.9) неизвестные bi,di), получим систему:

(5.10)

(i= 1,2,…,n-1).

Система (5.10) имеет трехдиагональную матрицу. Эта система может быть решена методом прогонки или Гаусса. После ее решения коэффициенты сплайна определим через коэффициенты сi с помощью явных формул

,

(i= 1,2,…,n).