КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Пример сплайн-интерполяцииПусть задана таблица значений функции f(xi) = yi ( ), в которой они расположены по возрастанию значений аргумента: x0 < x1 < … < xn. Чтобы построить кубический сплайн, требуется определить коэффициенты ai0, ai1, ai2, ai3, которые задают интерполяционный кубический многочлен на каждом интервале интерполирования [xi-1, xi], . Таким образом, необходимо определить 4n коэффициентов aij ( , ), для чего требуется 4n уравнений. Необходимые уравнения определяются следующими условиями. 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 = .
|