Интерполяция сплайнами

Пусть задана таблица значений функции f (xi) = yi (), в которой они расположены по возрастанию значений аргумента: x 0 < x 1 < … < xn. Чтобы построить кубический сплайн, требуется определить коэффициенты ai 0, ai 1, ai 2, ai 3, которые задают интерполяционный кубический многочлен

на каждом интервале интерполирования [ xi -1, xi ], .

Таким образом, необходимо определить 4 n коэффициентов aij (, ), для чего требуется 4 n уравнений. Необходимые уравнения определяются следующими условиями.

1. Условия непрерывности функции:

2. Условия непрерывности 1-х и 2-х производных функции:

3. Граничные условия:

Часто используются граничные условия вида . Получаемый при этом сплайн называется естественным кубическим сплайном.

Задача определения кубического сплайна существенно упрощается при использовании многочлена Эрмита. Кубический многочлен Эрмита на интервале [ xi- 1, xi ] определяется с помощью значений функции yi -1, yi и ее производных y ¢ i -1, y ¢ i. Так как значения производных в общем случае могут быть неизвестны, обозначим их как y ¢ i -1 = Si -1; y ¢ i = Si. При построении сплайна переменные Si называются наклонами сплайна в соответствующих точках xi.

Запишем многочлен Эрмита для интервала [ xi- 1, xi ], где hi = xi - xi- 1:

При таком выборе кубического многочлена автоматически выполняются условия непрерывности функции и ее первых производных:

Чтобы определить сплайн, нужно задать условия непрерывности второй производной:

Для записи этих условий в развернутом виде определим кубический многочлен Эрмита на интервале [ xi, xi +1], где hi +1 = xi +1 - xi:

Определим вторые производные многочленов Qi (x) и Qi +1(x) в точке x = xi:

(4)

(5)

Отсюда условие непрерывности вторых производных имеет вид:

(6)

Это условие порождает систему линейных уравнений относительно наклонов сплайна Si, которая содержит n - 1 уравнение и n + 1 переменную. Чтобы определить два недостающих уравнения используются граничные условия. Например, для естественного кубического сплайна:

Указанные граничные условия могут быть получены из уравнения (5) для i = 0 и из уравнения (4) для i = n соответственно. В развернутом виде:

(7)

Решение системы линейных уравнений, образованной условиями (6) и (7), позволяет вычислить наклоны сплайна Si (i = ) и определить кубический сплайн путем записи многочлена Эрмита для каждого интервала [ xi- 1, xi ], i = .


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: