Интерполяция сплайнами.
Происхождение термина “сплайны” связано с гибкой чертежной линейкой, которой пользовались для рисования гладких кривых, проходящих через заданные точки. Из теории упругости следует, что получающаяся кривая имеет постоянную кривизну и разрывы возникают лишь в третьей производной.
Обычно для сплайна выбирают кубический полином , определенный на интервале х из [xi-1, хi].
При этом вся кривая представляет собой набор таких кубических полиномов, с определенным образом подобранными коэффициентами аi , bi , ci , di , i- параметр сплайна.
! Если вдоль сплайна совершается механическое движение, то непрерывность второй производной предполагает непрерывность ускорения и, следовательно, отсутствие резких изменений приложенной силы.
N+1 узлов
N интервалов
4N неизвестных
Условия подбора коэффициентов:
1)условия Лагранжа: , ,
2)непрерывность первой и второй производной в узлах
фi’(xi) = фi+1’(xi); фi”(xi) = фi+1(xi)
3) условия в крайних узлах x0 и xn. Обычно задают условия свободных концов сплайна :
ф1”(x0) = 0, фn”(xn) = 0
Из полученных условий определяются зависимости между коэффициентами сплайнов:
В узле х = хi-1 коэффициент ai = fi-1.
В следующем узле x = xi выполняется условие ai+bihi+cihi2+dihi3 = fi, где элементарный шаг hi = xi – xi-1.
Потребуем непрерывности первой и второй производной на конце интервала
фi/(x) = bi+2ci(x-xi-1)+3di(x-xi-1)2 ,
фi//(x) = 2ci+6di(x-xi-1);
В узле x = xi первая производная
фi/(xi) = bi+2cihi+3dihi2 (1)
фi+1//(xi) = bi+1 (2)
Приравнивая (1) и (2), получаем bi +2cihi+3dihi2 = bi+1.
Вторая производная
фi//(xi) = 2ci+6cihi (3)
фi+1//(xi) = 2ci (4)
Приравнивая (3) и (4), получаем в свою очередь ci+3dihi = ci+1. Таким образом стыкуем все полиномы в узлах 1 ≤ i ≤ n-1. В крайних точках диапазона
ф1//(x0) = 2c1 = 0 → c1 = 0
ф1//(xn) = 2cn+6dnhn = 0 → cn +3dnhn = 0
Для всех 0 ≤ i ≤ n вышеприведенные соотношения представляют собой полную систему 4n линейных алгебраических уравнений относительно коэффициентов сплайнов, которую можно привести к системе ЛАУ, выразив коэффициенты ai, bi, di через ci и решить методом Гаусса или прогонки.
Система N линейных уравнений для коэффициентов сi:
для ,
где hi = xi-xi-1
После определения коэффициентов ci , 2N коэффициентов bi и di вычисляются по формулам:
,
И N уравнений для ,
Сплайновая интерполяция хороша тем, что требует знания в узлах только значений функции, но не ее производных.
Дата добавления: 2021-09-07; просмотров: 335;