И другие программы этой серии
Эта задача решается аппроксимацией исходной зависимости, т. е. ее подменой какой-либо достаточно простой функцией. Система MathCAD предоставляет возможность аппроксимации двух типов: кусочно-линейной и сплайновой.
При кусочно-линейной интерполяции, или аппроксимации, вычисления дополнительных точек выполняются по линейной зависимости. Графически это означает просто соединение узловых точек отрезками прямых, для чего используется следующая функция:
linterp(VX, VY, х)
Для заданных векторов VX и VY узловых точек и заданного аргумента х эта функция возвращает значение функции при ее линейной аппроксимации. При экстраполяции используются отрезки прямых с наклоном, соответствующим наклону крайних отрезков при линейной интерполяции.
Одномерная сплайн-интерполяция и сплайн-аппроксимация.
При небольшом числе узловых точек (менее 10) линейная интерполяция оказывается довольно грубой. Для целей экстраполяции функция linterp не предназначена и за пределами области определения может вести себя непредсказуемо.
Гораздо лучшие результаты дает сплайн-аппроксимация. При ней исходная функция заменяется отрезками кубических полиномов, проходящих через три смежные узловые точки. Коэффициенты полиномов рассчитываются так, чтобы непрерывными были первая и вторая производные.
Для осуществления сплайновой аппроксимации система MathCAD предлагает четыре встроенные функции. Три из них служат для получения векторов вторых производных сплайн-функций при различном виде интерполяции:
cspline(VX, VY) — возвращает вектор VS вторых производных при приближении в опорных точках к кубическому полиному;
pspline(VX, VY) — возвращает вектор VS вторых производных при приближении к опорным точкам параболической кривой;
lspline(VX, VY) — возвращает вектор VS вторых производных при приближении к опорным точкам прямой.
Наконец, четвертая функция
interp(VS, VX, VY, x)-возвращает значение у (х) для заданных векторов VS, VX, VY и заданного значения x.
Таким образом, сплайн-аппроксимация проводится в два этапа.