Для каждого отрезка [xi−1,xi], интерполяционный сплайн s(x) представляется в виде:
si(x)=ai+bi(x−xi)+2ci(x−xi)2+6di(x−xi)3, где i=1,2,…,n
Обозначения:
ai,bi,ci,di — коэффициенты сплайна.
xi — узлы интерполяции (заданные точки).
Производные сплайна
Первая производная:
si′(x)=bi+ci(x−xi)+2di(x−xi)2. Вторая производная:
si′′(x)=ci+di(x−xi). Третья производная:
si′′′(x)=di.
Граничные условия
Для определения коэффициентов ai,bi,ci,di вводятся следующие условия:
Интерполяция:
s(xi)=f(xi),i=0,1,…,n. Непрерывность: значения и производные si(x)совпадают на стыках отрезков:
si(xi)=si+1(xi),si′(xi)=si+1′(xi),si′′(xi)=si+1′′(xi). Граничные условия (например, "натуральный сплайн"):
s′′(x0)=0,s′′(xn)=0.
Система уравнений для коэффициентов
Используя указанные условия, формируется система уравнений для коэффициентов ci:
hi−1ci−1+2(hi−1+hi)ci+hici+1=6hiyi+1−yi−6hi−1yi−yi−1, где hi=xi−xi−1
Решение системы даёт значения ci, после чего находятся остальные коэффициенты:
di=hici+1−ci,bi=hiyi+1−yi−6hi(ci+1+2ci).
Данные для интерполяции записываются в виде таблицы:
x0f0x1f1……xn−1fn−1xnfn. На основе этой таблицы и формул строится сплайн.
Итог
Интерполяция кубическими сплайнами позволяет:
Создать плавные кривые для заданных точек.
Обеспечить гладкость до второй производной.
Автоматически подбирать параметры для сложных задач моделирования.
Last updated