Кубическая сплайн-интерполяция
В большинстве практических приложений желательно соединить экспериментальные точки не ломаной линией, а гладкой кривой. Лучше всего для этих целей подходит интерполяция кубическими сплайнами, т. е. отрезками кубических парабол (рис. 15.4).
- interp(s,x,y,t) – функция, аппроксимирующая данные векторов х и у кубическими сплайнами;
- s – вектор вторых производных, созданный одной из сопутствующих функций cspline, pspline или lspline;
- х – вектор действительных данных аргумента, элементы которого расположены в порядке возрастания;
- у – вектор действительных данных значений того же размера;
- t – значение аргумента, при котором вычисляется интерполирующая функция.
Рис. 15.4. Сплайн-интерполяция (см. листинг 15.2)
Сплайн-интерполяция в Mathcad реализована чуть сложнее линейной. Перед применением функции interp необходимо предварительно определить первый из ее аргументов – векторную переменную s. Делается это при помощи одной из трех встроенных функций тех же аргументов (х,у).
- lspline(x,y) – вектор значений коэффициентов линейного сплайна;
- pspline(x,y) – вектор значений коэффициентов квадратичного сплайна;
- cspline(x,y) – вектор значений коэффициентов кубического сплайна;
- х, у – векторы данных.
Выбор конкретной функции сплайновых коэффициентов влияет на интерполяцию вблизи конечных точек интервала. Пример сплайн-интерполяции приведен в листинге 15.2.
Листинг 15.2. Кубическая сплайн-интерполяция: