Часто хорошие результаты дает сплайн-аппроксимация отрезками кубических полиномов, проходящих через три смежные узловые точки. Коэффициенты полиномов рассчитываются так, чтобы непрерывными были первая и вторая производные. Линия, которую описывает сплайн-функция, напоминает по форме гибкую линейку, закрепленную в узловых точках (откуда и название аппроксимации: 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)