БлогNot. MathCAD: интерполяция одной формулой

MathCAD: интерполяция одной формулой

На практике мы редко программируем численные методы в MathCAD, гораздо чаще нам нужно быстро найти готовую формулу, желательно, встроенную в пакет.

Для большинства нужных случаев одномерной и двумерной интерполяции такие решения есть.

Возьмём 2 любых вектора одинаковой размерности, содержащих значения Xi и Y(Xi) соответственно:

Определение исходных данных для задачи интерполяции
Определение исходных данных для задачи интерполяции

Нумерация элементов векторов и матриц для удобства установлена со значения 1 вместо стандартного 0.

Для N точек на плоскости построить регрессию порядка M, 0<M<N, можно, создав простую функцию вида

r(x):=interp(regress(X,Y,4),X,Y,x)

Функция считает значение полинома степенной регрессии в заданной точке x малое.

Если вместо 4 поставить 1 - получится МНК первого порядка (сглаживание точек прямой линией), при значении 2 построится кусочек параболы, а при максимально допустимом для 5 точек значении порядка регрессии 4 мы построили кривую, совпадающую и с каноническим степенным полиномом, и с полиномом Лагранжа.

В последних версиях MathCAD значение интерполяционного полинома степени N-1 в точке x малое можно вычислить и функцией

p(x):=polyint(X,Y,x)

Неудобство лишь в том, что p(x) будет возвращать вектор из двух элементов (обратите внимание, что выводится на график значение p(x)1). Зато во втором элементе сразу будет "лежать" погрешность в точке вычисления.

На практике высокие степени полиномов обычно не нужны, если мы хотим провести гладкую и дифференцируемую кривую через известные точки, обычно хорошим решением оказывается интерполяционный сплайн 3 порядка, значение которого в точке x малое можно вычислить функцией

s(x):=interp(lspline(X,Y),X,Y,x)

На каждом интервале [Xi,Xi+1] такой сплайн представляется функцией от третьей степени x и является гладкой дважды дифференцируемой кривой.

Вот реализация всех трёх формул и график:

Реализация стандартных формул интерполяции в MathCAD
Реализация стандартных формул интерполяции в MathCAD

 Скачать этот пример в формате .xmcd (MathCAD 14/15) (31 Кб)

Далее показан скриншот соответствующего расчёта в Mathcad Prime 7 и прикреплён документ этой линейки Mathcad.

Интерполяционный полином, Кубический интерполяционный сплайн, МНК в Mathcad Prime 7
Интерполяционный полином, Кубический интерполяционный сплайн, МНК в Mathcad Prime 7

 Скачать этот пример в архиве .zip с файлом .mcdx (Mathcad Prime 7 и выше) (15 Кб)

13.06.2014, 11:01 [22735 просмотров]


теги: числа mathcad

показать комментарии (1)