Интерполяционный полином Лагранжа

Для функции, заданной табл. 5.1, построим интерполяционный многочлен , степень которого не выше n и выполнены условия (5.1).

Будем искать в виде

, (5.5)

где - многочлен степени n, причем

. (5.6)

Очевидно, что требование (5.6) с учетом (5.5) обеспечивают выполнение условий (5.1).

Многочлены составим следующим способом:

, (5.7)

где - постоянный коэффициент, значение которого находится из первой части условия (5.6):

. (5.8)

Подставив в (5.7) и далее в (5.5), окончательно получим:

. (5.9)

Формула (5.9) окончательно решает поставленную задачу.

Решение задачи интерполяции в пакете MatLAB с помощью полинома Лагранжа находится выполнением следующей последовательности команд:

1. Задать табличные значения интерполируемой функции

>> N=8;

>> i=1:N;

>> x(i)=2*pi/(N-1)*(i-1);

>> y=sin(x);

 

2. Создать файл Lagrange.m, содержащий описание функции возвращающей значение многочлена .

 

% листинг файла Lagrange.m

function z=Lagrange(x,i,X,Y)

% x - абцисса точки интерполяции

% i - номер полинома Лагранжа

% X - вектор, содержащий абсциссы узлов интерполяции

% Y - вектор, содержащий ординаты точек интерполяции

N=length(X);

L=1;

for j=1:N

if not(j==i)

L=L*(x-X(j))/(X(i)-X(j));

End;

End;

z=L*Y(i);

3. Создать файл Pol_Lagr.m, содержащий описание функции, возвращающей значения полинома Лагранжа

 

% листинг файла Lagr.m

function z=Pol_Lagr(x,X,Y)

% x - абцисса точки интерполяции

% i - номер полинома Лагранжа

% X - вектор, содержащий абсциссы узлов интерполяции

% Y - вектор, содержащий ординаты точек интерполяции

N=length(X);

s=0;

for i=1:N

s=s+Lagrange(x,i,X,Y);

End;

z=s;

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

>> M=1000;

>> j=1:M;

>> X(j)=2*pi/(M-1)*(j-1);

>> Y=sin(X);

6. Вычислить значения полинома Лагранжа в промежуточных точках

>> for j=1:M

Y2(j)=Pol_Lagr(X(j),x,y);

End;

7. Построить разность между точными и интерполированными значениями функции (рис. 5.3)

Рис. 5.3. Погрешность аппроксимации функции sin(x) полиномом Лагранжа








Дата добавления: 2015-08-21; просмотров: 2127;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.