Интерполяция каноническим полиномом
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Будем искать интерполирующую функцию F(x) в виде канонического полинома степени n:

                            (5.2)

Коэффициенты полинома  определяются из условий Лагранжа , что с учетом выражения (5.2) дает систему линейных уравнений с n+1 неизвестными:

                                       (5.3)

Систему уравнений (5.3) можно записать в виде:

,

или в матричной форме

C·a=y                                                                                     (5.4)

где a - вектор, содержащий неизвестные коэффициенты полинома , y-вектор, содержащий значения функции в узлах интерполяции, , а матрица C имеет вид:


Система линейных алгебраических уравнений имеет единственное решение, если определитель матрицы C отличен от нуля. Этот определитель, называемый определителем Вандермонда, отличен от нуля, если среди узлов  нет совпадающих.

Решение системы (5.3) в матричном виде имеет вид:

a=C-1·y

где C-1 – обратная матрица (C-1·C=E, E - единичная матрица).

Рассмотрим пример реализации полиномиальной интерполяции в Mathcad.

Пример 5.1

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

Решение

1. Определяем координаты узлов интерполяции:

2.

3. Определяем коэффициенты интерполяционного полинома:

 

     

4. Строим график интерполяционной функции:


Многоинтервальная интерполяция

Рассмотренная выше полиномиальная интерполяция не всегда дает

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

С увеличением количества узлов возрастает и степень интерполяционного полинома, что приводит к резкому увеличению погрешности в результате возникновения, так называемого явления волнистости. Для того чтобы избежать высокой степени полинома отрезок интерполяции разбивают на несколько частей и на каждом частичном интервале строят самостоятельный полином невысокой степени. Рассмотрим наиболее часто используемые виды многоинтервальной интерполяции, а также способы их реализации в Mathcad.



Линейная интерполяция

Кусочно-линейная интерполяция является простейшим видом многоинтервальной интерполяции, при которой исходная функция на каждом частичном интервале  аппроксимируется отрезком прямой, соединяющей точки  и .Запишем уравнение этой прямой.

Уравнение прямой на отрезке  имеет вид .
Для определения коэффициентов a и b воспользуемся условиями  и . Решая эти уравнения, найдем коэффициенты  и .

,

Таким образом, в случае линейной интерполяции интерполяционная функция на каждом из отрезков  определяется по формуле:

В Mathcad’е имеется встроенная функция linterp, осуществляющая линейную интерполяцию. Обращение к этой функции имеет вид linterp(vx,vy,x).

Аргументами этой функции являются два вектора vx и vy, содержащие координаты узлов интерполяции и независимая переменная х.

Рассмотрим пример построения линейной интерполяции в Mathcad.


Пример 5.2.

Для точек (1.1;7.7), (2.8;9.8), (3.7;6.3), (4.1;1.6) построить линейную интерполяцию. По полученной функции найти прогноз в точке x=3.5.

Решение:

1. Задаем координаты узлов интерполяции:

2. Определяем функцию li(x), осуществляющую линейную интерполяцию:

3. Строим график линейной интерполяционной функции:

4. Находим прогноз в точке х=3.5

li(3.5)=7.078




Сплайн-интерполяция

Существенным недостатком линейной интерполяции является то, что в точках стыка разных интерполяционных полиномов оказывается разрывной их первая производная. Этот недостаток устраняется при использовании особого вида много интервальной интерполяции.

Интерполяции сплайнами (англ. spline – рейка, линейка).

Сплайн – это функция, которая на каждом частичном интервале представляется полиномом некоторой степени, а на всем заданном отрезке непрерывна вместе с несколькими своими производными. На практике широкое применение получили сплайны третьей степени (кубические сплайны).

На интервале  кубический сплайн можно представить в виде:

,         (5.5)

где - коэффициенты сплайнов; 

- номер сплайна (интервала).

Коэффициенты сплайна определяются из следующих условий:

1)  Условия Лагранжа:

,                                                    (5.6)

2) Условия непрерывности первой и второй производных сплайнов в узлах:

,                                       (5.7)


Кроме этого необходимо задать дополнительные условия на концах интервала, т.е. в точках  и . Если потребовать нулевой кривизны сплайна в этих точках, то дополнительными условиями будут являться равенства нулю вторых производных сплайнов на концах интервала интерполяции:

,                                                             (5.8)

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

Подставив выражение (5.5) в условия (5.6), (5.7), (5.8), получим систему из 4n уравнений относительно коэффициентов сплайнов . Решив эту систему, определим коэффициенты сплайна.

Интерполяция сплайнами имеет очень простую и наглядную физико-механическую аналогию. Если попытаться совместить упругую металлическую линейку с узловыми точками, то форма, которую примет в этом случае линейка будет совпадать с графиком кубического сплайна (сплошная линия на рис.1). Вне узловых точек, где линейка свободна, она описывается уравнением прямой. Соответствующее поведение сплайна обеспечивается условием (5.8).

Для кубической сплайн-интерполяции в Mathcad используется встроенная функция interp. Обращение к этой функции имеет вид:

interp(vs,X,Y,x)

Функция interp имеет следующие аргументы:

· vs – вектор вторых производных, созданный функцией lspline(X,Y), pspline(X,Y) или cspline(X,Y);

· X – вектор опытных значений аргумента, расположенных

в порядке возрастания;

· Y – вектор опытных значений функции;

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

Перед вызовом функции interp необходимо определить первый из ее аргументов – вектор vs. Делается это при помощи одной из трех встроенных функций тех же аргументов Х и Y:

· lspline(X,Y) – создает вектор коэффициентов кривой, которая приближается к прямой линии в граничных точках;

· pspline(X,Y) – создает вектор коэффициентов кривой, которая приближается к квадратичной параболе в граничных точках;

· сspline(X,Y) – создает вектор коэффициентов кривой, которая приближается к кубической параболе в граничных точках;

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

Пример 5.3

Для точек (1.1;7.7), (2.8;9.8), (3.7;6.3), (4.1;1.6) построить кубическую сплайн-интерполяцию. По полученной функции найти прогноз в точке x=3.5.

Решение:

1. Определяем координаты узлов интерполяции:

2. Определяем вектор коэффициентов сплайна:

vs := cspline(X, Y)

3. Строим график кубической сплайн интерполяции:

4. Находим прогноз в точке х=3.5

ls(3.5) = 7.81




Дата: 2019-02-18, просмотров: 1004.