Интерполяция функций
6.11. B - сплайны
Сплайны с локальным носителем. ( B - сплайны ). В последнее время в вычислительной практике широкое распространение получили B - сплайны (от английского слова bell — колокол), сосредоточенные на конечном носителе. Они используются как для интерполяции функций, так и в качестве базисных функций при построении методов типа конечных элементов.
Для подробного ознакомления с приложениями B - сплайнов и B - сплайнами произвольной степени рекомендуется обратиться к [6.5], [6.6] и современным публикациям, например, в журнале "Математическое моделирование" [6.14]. В "Интерполяция функций" ограничимся наиболее распространенными случаями B - сплайнов порядка 2 и 3, см. также [6.11].
Определение. B - сплайном, или базисным сплайном степени N - 1 дефекта 1 относительно узлов
называется функция

Пусть
т.е. рассматривается случай равномерной сетки.
Рассмотрим несколько частных случаев В - сплайнов.
-
N = 2. В этом случае сплайн строится наиболее просто.
![\begin{gather*}
B_{1, n} (t) = B_1(t_n, t_{n + 1}, t_{n + 2}, t) = 2\left[\frac{{(t_n - t)_{\max }}}{{(t_n - t_{n + 1})(t_n - t_{n + 2})}} +\right. \\
\left. \frac{{(t_{n + 1} - t)_{\max }}}{{(t_{n + 1} - t_n)(t_{n + 1} - t_{n + 2})}} + \frac{{(t_{n + 2} - t)_{\max }}}{{(t_{n + 2} - t_n)(t_{n + 2} - t_{n + 1})}}\right] = \\
= \frac{1}{{\tau ^2 }}\left[(t_n - t)_{\max } - 2(t_{n + 1} - t)_{\max } + (t_{n + 2} - t)_{\max }\right],
\end{gather*}](/sites/default/files/tex_cache/02168f9082810ebbfc8b7c9f7982c9e8.png)
или

Это функция "крышка" или "крышечка". Она часто используется в качестве базисной функции в методах конечных элементов.
Рассмотрим случай B - сплайна 2 - го порядка, задаваемого формулой
![$ S_k (x) = \left\{ \begin{array}{lll}
{x^2 ;} & {x = \frac{t - t_{k - 2}}{t_{k - 1} - t_{k - 2}}, } & {t \in [t_{k - 2}, t_{k - 1} ];} \\
{1 + 2x - x^2 ;} & {x = \frac{t - t_{k - 1}} {t_k - t_{k - 1}}, } & {t \in [t_{k - 1}, t_k ];} \\
{2 - x^2 ;} & {x = \frac{t - t_k}{t_{k + 1} - t_k}, } & {t \in [t_k , t_{k + 1} ];} \\
{(1 - x)^2 ;} & {x = \frac{t - t_{k + 1}}{t_{k + 2} - t_{k + 1}}, } & {t \in [t_{k + 1}, t_{k + 2} ].} \\
\end{array} \right.
$](/sites/default/files/tex_cache/0a379dfbe62f29493bede74bedcbc843.png)
При t < tk - 2, t > tk - 2,
Построенный сплайн обладает следующими свойствами:- a) S't (tk - 2) = S't(tk + 2) = 0 ;
- b) S(tk - 1) = S(tk + 1) = 1 ;
- c) S(tk - 2) = S(tk + 2) = 0.
При интерполяции функций можно поступить таким способом. Заметим, что для интерполяции с помощью сплайна необходимо потребовать выполнения условия
bi - 1Si - 1 + biSi + bi + 1Si + 1= fi,
где b — коэффициенты интерполяции, S — B - сплайн, индекс указывает на точку носителя, в которой сплайн достигает своего максимума. Система таких соотношений, естественно, дополняется граничными условиями. Известно [6.5], что получившаяся система для определения коэффициентов разложения будет иметь трехдиагональную матрицу с диагональным преобладанием при выполнении ограничения на длины соседних шагов: они должны различаться не более чем в
раза.
-
N = 4 (кубический B - сплайн ) имеет вид
![\begin{gather*}
B_{3, n}(t) = \frac{1}{{6\tau ^4 }}\left[(t_n - t)_{\max }^3 - 4(t_{n + 1} - t)_{\max }^3 +
6(t_{n + 2} - t)_{\max }^3 -\right. \\
\left. - 4(t_{n + 3} - t)_{\max }^3 + (t_{n + 4} - t)_{\max }^3\right],
\end{gather*}](/sites/default/files/tex_cache/7efb9618a5a818409d4a22517e5f5e7d.png)
или, после несложных упрощений:

Базисные сплайны заданной степени являются линейно независимыми функциями и образуют базис в функциональных пространствах, что можно использовать для представления с их помощью других функций этих же пространств. Любая, например, кусочно - постоянная функция на отрезке, составленном из равных интервалов, может быть единственным образом представлена как линейная комбинация В - сплайнов нулевой степени, любая кусочно - линейная функция — В - сплайнов первой степени и т.д. Базисные сплайны играют существенную роль при построении численных методов решения задач математической физики, например, метода конечных элементов в теории приближения функций, при решении задач компьютерной графики.
Для последнего класса задач также используются функции Бернштейна:
![\begin{gather*}
B_n^{N} (t) = \frac{N!}{n!(N - n)!}\frac{{(b - t)}^{N - n}{(t - a)}^{n}}{{(b - a)}^{N}}, \\
n = 0, \ldots , N, t \in [a, b].
\end{gather*}](/sites/default/files/tex_cache/8313892cd4c8ab5880d66f9fde7bbe77.png)
Функции Бернштейна иногда записывают в форме рекуррентного соотношения:

Такие рекуррентные последовательности применяются с целью уменьшения ошибок округления.
Функции Бернштейна являются базисными для построения кривых Безье, активно использующихся в компьютерной графике и техническом дизайне, появившихся в результате работ Безье и де Кастильо над формами автомобилей фирм Рено и Ситроен. Подробнее о функциях Бернштейна в [6.12].

