При линейной интерполяции аппроксимирующая функция соединяет опытные точки отрезками прямых линий. Для этого используется функция
linterp(x,y,t), где x – вектор опытных значений аргумента (в увеличивающемся порядке);
y – вектор опытных значений функции;
t – значение аргумента, при котором вычисляется интерполирующее значение функции (t может быть и массивом значений).
Кубическая сплайн-интерполяция
В большинстве случаев желательно соединять опытные точки не ломанной линией, а гладкой кривой. Для этого используется сплайн-интерполяция, которая позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой будут непрерывны в каждой точке. Для данной интерполяции используется функция:
interp(vs,x,y,t), где vs – вектор вторых производных;
x – вектор опытных значений аргумента (в увеличивающемся порядке);
y – вектор опытных значений функции;
t – значение аргумента, при котором вычисляется интерполирующее значение функции.
Вектор vs определяется перед использованием функции interp с помощью одной из следующих функций:
а) lspline(x,y) – создает вектор коэффициентов кривой, которая приближается к прямой линии в граничных точках;
б) pspline(x,y) – создает вектор коэффициентов кривой, которая приближается к квадратичной параболе в граничных точках;
в) cspline(x,y) – создает вектор коэффициентов кривой, которая приближается к кубической параболе в граничных точках;
7.2 Регрессия
Функции регрессии создают кривые с минимальным отклонением от имеющегося набора данных. В отличие от интерполяции эти функции не требуют, чтобы аппроксимирующая кривая проходила через опытные точки.
Функции регрессии делятся на два вида:
1) функции, возвращающие коэффициенты аналитической функции и позволяющие записать аппроксимирующую функцию в явном виде;
2) функции, возвращающие численные результаты в виде таблиц или графиков.
Первая группа функций:
а) expfit(x,y,V) – регрессия экспонентой вида ;
б) sinfit(x,y,V) – регрессия синусоидой вида ;
в) pwrfit(x,y,V) – регрессия степенной зависимостью вида ;
г) lgfit(x,y,V) – регрессия логистической функцией вида ;
д) logfit(x,y,V) – регрессия логарифмической функцией вида ;
е) line(x,y) – регрессия прямой линией вида ;
ж) lnfit(x,y) – регрессия логарифмической функцией вида .
В данных функциях x – вектор значений аргумента (в порядке возрастания); y – вектор значений функции; V – вектор начальных приближений коэффициентов; t – значение аргумента, для которого вычисляется функция (может быть вектором).
С помощью указанных функций формируется вектор коэффициентов и найденные значения подставляются в уравнение кривой.
Вторая группа функций:
а) регрессия с использованием одного полинома (реализуется комбинацией функций регрессии и интерполяции):
interp(s,x,y,t),
regress(x,y,n), где x – вектор значений аргумента, элементы которого расположены в порядке возрастания;
y – вектор значений функции того же размера;
s – вектор коэффициентов для построения аппроксимирующего полинома, создаваемый функцией regress;
t – значение аргумента, при котором вычисляется интерполирующая функция;
n – степень аппроксимирующего полинома (может быть любой).
б) регрессия с использованием нескольких отрезков полинома (реализуется комбинацией встроенных функций регрессии и интерполяции):
interp(s,x,y,t),
loess(x,y,span), где x, y, t – см. выше;
s – вектор коэффициентов для построения аппроксимирующего полинома второй степени, создаваемый функцией loess;
span – параметр (>0), определяющий размер отрезков полинома (на практике 0,2<span<2).
В данных видах регрессий искомая функция определяется с помощью функции interp.
7.3 Экстраполяция
Кроме обработки опытных данных в пределах заданных точек, бывает необходимо оценить значения функции за пределами этих точек, то есть предсказать поведение кривой. В MathCAD есть специальная функция предсказания:
predict(y,m,n), где y – вектор заданных значений, взятых через равные интервалы аргумента;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.