Применение MATHCAD в инженерных расчетах. Панферов А.И - 49 стр.

UptoLike

49
В отличие от функций регрессии, обсуждаемых в следующем разде-
ле, функции интерполяции определяют кривую, точно проходящую че-
рез заданные точки. Из-за этого результат очень чувствителен к ошиб-
кам данных. Если данные зашумлены, следует рассмотреть возможность
использования регрессии вместо интерполяции.
Для линейной интерполяции используется функция linterp(vx, vy, x),
которая по векторным данным vx и vy возвращает линейно интерполи-
руемое значение y, соответствующее третьему аргументу x. Аргументы
vx и vy должны быть векторами одинаковой длины. Вектор vx должен
содержать вещественные значения, расположенные в порядке возраста-
ния. Эта функция соединяет точки данных отрезками прямых, созда-
вая, таким образом, ломаную линию. Интерполируемое значение для
конкретного x есть ордината y соответствующей точки ломаной.
Пример линейной интерполяции показан на рис. 17.
Кубическая сплайн-интерполяция позволяет провести кривую через
набор точек таким образом, что первые и вторые производные кривой
непрерывны в каждой точке. Эта кривая образуется путем создания ряда
кубических полиномов, проходящих через наборы из трех смежных то-
чек. Кубические полиномы состыковываются друг с другом, чтобы об-
разовать одну кривую.
Чтобы провести кубический сплайн через набор точек:
создайте векторы vx и vy, содержащие координаты x и y, через кото-
рые нужно провести кубичный сплайн. Элементы vx должны быть рас-
положены в порядке возрастания;
вычислите вектор vs:=cspline(vx, vy). Вектор vs содержит вторые про-
изводные интерполяционной кривой в рассматриваемых точках.
Чтобы найти интерполируемое значение в произвольной точке, ска-
жем х0, вычислите interp(vs, vx, vy, x0), где vs, vx и vy – векторы, опи-
санные ранее.
Обратите внимание, что можно сделать то же самое, вычисляя
interp(cspline(vx, vy),vx,vy, x0).
Пример использования кубической сплайн-интерполяции приведен
на рис. 17 внизу.