|
15.1.3. Полиномиальная сплайн-интерполяция
Более сложный тип интерполяции — так называемая интерполяция В-сплай-нами.
В отличие от обычной сплайн-интерполяции (см. разд. 15.1.2), сшивка элементарных
В-сплайнов производится не в точках хi а в других точках ui, координаты которых
предлагается ввести пользователю. Сплайны могут быть полиномами 1, 2 или 3 степени
(линейные, квадратичные или кубические). Применяется интерполяция В-сплайнами
точно так же, как и обычная сплайн-интерполяция, различие состоит только в определении
вспомогательной функции коэффициентов сплайна.
- interp(s,x,y, t) — функция, аппроксимирующая данные векторов
х и у с помощью В-сплайнов;
- bspline(x,y,u,n) — вектор значений коэффициентов В-сплайна;
- s — вектор вторых производных, созданный функцией bspline;
- х — вектор действительных данных аргумента, элементы которого
расположены в порядке возрастания;
- у — вектор действительных данных значений того же размера;
- t — значение аргумента, при котором вычисляется интерполирующая
функция;
- u — вектор значений аргумента, в которых производится сшивка
В-сплайнов;
- n — порядок полиномов сплайновой интерполяции (1, 2 или
3).
Размерность вектора и должна быть на 1, 2 или з меньше размерности векторов
х и у. Первый элемент вектора и должен быть меньше или равен первому элементу
вектора х, а последний элемент и — больше или равен последнему элементу х.
Интерполяция В-сплайнами иллюстрируется листингом 15.3 и рис. 15.7.
Листинг 15.3. Интерполяция В-сплайнами


Рис. 15.7. В-сплайн-интерполяция (листинг 15.3)
|