Матричные вычисления в Mathcad


2 Кубическая сплайнинтерполяция



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.









Начало  Назад  Вперед


Книжный магазин