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