Кубическая сплайн-интерполяция.



Чтобы провести кубический сплайн через набор точек необходимо:

· создать векторы vx и vy, содержащие координаты точек (узлы интерполяции), через которые необходимо провести кубический сплайн. Элементы вектора vх должны быть вещественными и располагаться в порядке возрастания.

· вычислить вектор, используя функцию cspline:

vs:= cspline (vx, vy)

Вектор содержит вторые производные интерполяционной кривой в рассматриваемых точках.

· Чтобы найти интерполируемое значение в произвольной точке х0, используйте функцию interp:

y0:=interp(vs, vx, vy, x0).

Пример интерполяции данных из предыдущего примера кубическим сплайном:


 


 

Кроме функции cspline в Mathcad имеются сплайн-функции:

pspline(vx, vy) и lspline(vx, vy),

Все три функции по-разному генерируют кривые сплайна в граничных точках.

· lspline генерирует кривую сплайна, приближающуюся в граничных точках к прямой.

· pspline генерирует кривую сплайна, приближающуюся в граничных точках к параболе.

· cspline генерирует кривую сплайна, приближающуюся в граничных точках к кубическому полиному.

Применение Матнсad при обработке результатов эксперимента.

 

Интерполяция по общей формуле Лагранжа.

Формула Лагранжа синтезирует специальный полином Лагранжа, используя два вектора – Xi, Yi координат узловых точек.

В i-ом узле интерполяции интерполяционный полином Лагранжа имеет вид:

Yi=a0+a1xi+a2xi 2+a3xi 3+…+anxi n

Преимущества такого метода в том, что число узловых точек и их расположение может быть любым, а для интерполяции используется единая интерполяционная формула f(x). Степень полинома n однозначно связана с числом узловых точек. Поэтому график интерполирующей функции f(x) точно проходит через узловые точки. Точки могут располагаться как равномерно по оси Х, так и не равномерно.

Рассмотрим две задачи:

1. нахождение значения f(x) в точках Х, отличных от значений аргумента, заданных в таблице;

2. построение интерполяционного многочлена Лагранжа для функции, заданной таблично.

Задача 1:

Даны два вектора Xi и Yi. Вектор Xi должен быть упорядочен.

Определить промежуточные значения f(x) на интервале изменения Х [1…10], применяя общую интерполяционную формулу Лагранжа. Построить график интерполяционного полинома.

Решение:

1. Вводим векторы для точек интерполируемой зависимости:

 

2. Задаем ранжированные (упорядоченные) переменные:

 

 

3. Записываем общую формулу Лагранжа

 

4. Вычислим значения функции в промежуточных точках Х=2,4,6:

 

Для построения графика интерполяционного полинома надо ввести ранжированную переменную Х:

Х:= 0..10

Узловые точки нанесены в виде кружочков и видно, что они совпадают с графиком интерполяционного полинома.

Задача 2

Даны два вектора Xi и Yi. Построить интерполяционный полином Лагранжа.

Задача сводится к нахождению коэффициентов интерполяционного полинома. Но прежде, напомним некоторые теоретические сведения.

Написав интерполяционный полином для каждого узла, получим систему n+1 уравнений с n+1 неизвестными а0, а1, …, аn:

а0+ а1х02х02+…+аnх0n0

а0+ а1х12х12+…+anх1n1

……………………………………………..

а0+ а1хn2хn2+…+аnхnnn,

где хi и yi (i= 0,1, …, n) – значения координат узловых точек.

Неизвестные а0, а1, …, аn находим по формуле Крамера:

а0 = , а1 = , …, аn =

∆ - определитель системы. Если ∆ ≠ 0, то система имеет единственное решение.

Определитель системы имеет вид:

 

∆ =

 

Определители получаются путем замены столбца коэффициентов при соответствующем неизвестном столбцом свободных членов.

В матричном виде система имеет вид: АХ=У, тогда А=Х-1У

Теперь переходим к решению в системе MATHCAD.

Вводим векторы для точек интерполируемой зависимости:

 

 

Построим график полинома с нанесёнными на него узловыми точками исходной зависимости, предварительно проранжировав переменную:

 

 

 

 

 

 

 

Аппроксимация

Аппроксимация состоит в замене опытной кривой определенной математической зависимостью (так называемым уравнением регрессии):

· прямой линией с уравнением y=a+bx (линейная аппроксимация или линейная регрессия),

· полиномом той или иной степени с уравнением

y=a0+a1x+a2x2+…+anxn (полиномиальная аппроксимация, или полиномиальная регрессия или, еще другое название, параболическая регрессия)

· показательной функцией с уравнением y= abx (показательная регрессия), если y=ex (экспоненциальная регрессия).

Уравнение регрессии может быть и логарифмического, и дробно-степенного, и тригонометрического, и т.д. типа. Часто тип регрессии можно определить путем кропотливого подбора.

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

Рассмотрим нахождения параметров уравнения регрессии на примере экспоненциальной функции регрессии.

Пример:

· Исходные данные заданы векторами:

Х:= У:=

· Уравнение регрессии зададим в виде экспоненциальной зависимости: f(x,a,b):=a ∙exp(b∙x)

· Подставив исходные данные в уравнение регрессии и используя функцию Given, получаем систему уравнений с неизвестными а и b.

· Вычисляем коэффициенты a и b, используя функцию Minerr(a,b), минимизирующую сумму квадратов ошибок.

· Строим график уравнения регрессии с нанесенными исходными точками.

· Находим значение функции регрессии в промежуточных точках х=3 и х=5.

 

Листинг документа в системе Mathcad:

 


Дата добавления: 2016-01-05; просмотров: 19; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!