Сплайн-интерполяция

 

Часто хорошие результаты дает сплайн-аппроксимация отрезками кубических полиномов, проходящих через три смежные узловые точки. Коэффициенты полиномов рассчитываются так, чтобы непрерывными были первая и вторая производные. Линия, которую описывает сплайн-функция, напоминает по форме гибкую линейку, закрепленную в узловых точках (откуда и название аппроксимации: splaine – гибкая линейка). Для осуществления сплайн-аппроксимации система Mathcad предлагает следующие функции:

cspline (VX, VY) – возвращает вектор VS вторых производных при приближении в опорных точках отрезками кубических полиномов;

pspline (VX, VY) – возвращает вектор VS вторых производных при приближении к опорным точкам отрезками парабол;

lspline (VX, VY) - возвращает вектор VS вторых производных при приближении к опорным точкам отрезками прямой;

interp (VS, VX, VY, x) –возвращает значение функции y(x) для заданных векторов VS, VX, и значения x.

Сплайн-аппроксимация проводится в два этапа. Вначале с помощью функций cspline, pspline или lspline отыскивается вектор вторых производных функции y(x), заданной векторами VX и VY ее абсцисс и ординат. Затем для каждой точки вычисляется y(x) с помощью функции interp.

Сплайн интерполяции даже при небольшом количестве точек (5-6) дает хорошие результаты:

· график функции оказывается плавным;

· точки его перегиба незаметны.

Проведем сплайн-интерполяцию для рассмотренного выше примера.

 

 

V:= csort (V,0)

 

 

Этапы записи таблицы в виде матрицы и сортировки аналогичны кусочно-линейной интерполяции.

Далее записываем:

 

S:=

 

Открываем встроенные функции f(x) и в разделе «категория функций» выбираем «интерполяция», а в разделе «имя функции» - «cspline». После щелчка по клавише «ОК» появится

 

S:=cspline(, )

 

Вводим под знак cspline аргумент Х и функцию Y.

 

S:=cspline(X, Y)

 

 

Далее записываем:

 

W(x):=

 

Открываем встроенные функции f(x) и в разделе «категория функций» выбираем «интерполяция», а в разделе «имя функции» - «interp». После щелчка по клавише «ОК» появляется:

 

W(x):= interp(, , , ),

куда последовательно под знак функции вводятся обозначения S,X,Y,x.

 

W(x):= interp(S, X, Y, x).

 

Далее по правилам построения графиков строим в декартовой системе координат график функции W(x)= f(x) (Рис. 6.38).

 

 

Рис.6.38 График функции W(x)= f(x)