Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Для функции, заданной табл. 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) полиномом Лагранжа




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


Дата добавления: 2014-01-06; Просмотров: 543; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.