Открыть сервис

Сплайновая интерполяция

Сплайновая интерполяция — это метод численного анализа, позволяющий построить гладкую функцию (сплайн), которая проходит через заданный набор точек (узлов интерполяции) или вблизи них. В отличие от полиномиальной интерполяции, где один полином высокой степени может приводить к сильным осцилляциям (феномен Рунге), сплайновая интерполяция использует кусочно-полиномиальные функции низкой степени, обеспечивая устойчивость и гладкость на всём интервале. Наиболее распространённым видом являются кубические сплайны, которые гарантируют непрерывность второй производной и, как следствие, отсутствие резких изгибов.

История

Термин «сплайн» (от англ. spline — гибкая рейка) происходит из кораблестроения и чертёжного дела. До появления компьютерных методов проектировщики использовали упругие металлические или деревянные линейки (лекала), которые фиксировались в узловых точках с помощью грузиков. Такая линейка, изгибаясь, принимала форму, минимизирующую энергию упругой деформации, что математически соответствует кубическому сплайну.

Математическая теория сплайнов начала активно развиваться в середине XX века. В 1946 году американский математик Исаак Шёнберг опубликовал работу, заложившую основы теории сплайнов как кусочно-полиномиальных функций. В 1960-х годах, с развитием вычислительной техники, сплайны стали широко применяться в задачах компьютерной графики, автоматизированного проектирования (САПР) и обработки сигналов. В СССР значительный вклад в теорию сплайнов внесли математики Ю. С. Завьялов, Б. И. Квасов и В. Л. Мирошниченко.

Определение и основные понятия

Пусть на отрезке \([a, b]\) задана сетка узлов: \[ a = x_0 < x_1 < \dots < x_n = b. \] Сплайном степени \(m\) дефекта \(k\) называется функция \(S(x)\), удовлетворяющая следующим условиям:

  1. Кусочная полиномиальность: на каждом интервале \([x_{i-1}, x_i]\) функция \(S(x)\) является многочленом степени не выше \(m\).
  2. Гладкость: функция \(S(x)\) и все её производные до порядка \(m-k\) включительно непрерывны на всём отрезке \([a, b]\). Дефект сплайна \(k\) показывает, на сколько порядков производных меньше, чем степень полинома. Для кубического сплайна (\(m=3\)) обычно \(k=1\), то есть непрерывны сама функция, её первая и вторая производные, а третья может терпеть разрыв в узлах.

Узлы сплайна — это точки \(x_i\), в которых происходит смена полиномиального выражения. Интерполяционный сплайн дополнительно удовлетворяет условию прохождения через заданные значения \(y_i = f(x_i)\) в узлах: \[ S(x_i) = y_i, \quad i = 0, 1, \dots, n. \]

Виды сплайнов

По степени полинома

По типу граничных условий

Для кубических сплайнов система уравнений становится определённой только после задания двух дополнительных условий на концах отрезка \([a, b]\):

По способу построения

Математическая основа кубического сплайна

На каждом интервале \([x_{i-1}, x_i]\) кубический сплайн записывается в виде: \[ S_i(x) = a_i + b_i (x - x_{i-1}) + c_i (x - x_{i-1})^2 + d_i (x - x_{i-1})^3, \] где \(a_i, b_i, c_i, d_i\) — коэффициенты, подлежащие определению.

Условия интерполяции дают \(2n\) уравнений: \[ S_i(x_{i-1}) = y_{i-1}, \quad S_i(x_i) = y_i, \quad i = 1, \dots, n. \]

Условия непрерывности первой и второй производных во внутренних узлах дают ещё \(2(n-1)\) уравнений: \[ S'_i(x_i) = S'_{i+1}(x_i), \quad S''_i(x_i) = S''_{i+1}(x_i), \quad i = 1, \dots, n-1. \]

Итого имеется \(4n\) неизвестных и \(4n - 2\) уравнений. Два недостающих уравнения — это граничные условия. Решение полученной системы трёхдиагональных линейных уравнений (обычно методом прогонки) даёт все коэффициенты.

Применение

Сплайновая интерполяция широко используется в различных областях:

Преимущества и недостатки

Преимущества

Недостатки

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →