- •Лабораторная работа № 6 интерполяционный многочлен лагранжа
- •Постановка задачи
- •Теоретические сведения
- •Пример выполнения заданий
- •Построение полинома Лагранжа для таблично заданной функции.
- •Построение полинома Лагранжа в пакете mathcad.
- •Пример построения полинома Лагранжа в пакете matlab.
- •Пример использования узлов Чебышева.
- •Пример вычисления погрешности интерполирования.
- •Варианты лабораторных работ
- •Варианты лабораторных работ (продолжение)
- •Варианты лабораторных работ (окончание)
Пример выполнения заданий
-
Построение полинома Лагранжа для таблично заданной функции.
Построить интерполяционный многочлен Лагранжа для функции, заданной в табл. 6.1.
Таблица 6.1
|
|
1.1 |
1.5 |
2.0 |
2.6 |
|
|
0.0953 |
0.4055 |
0.6931 |
0.9555 |
Используя
полученный интерполяционный многочлен,
вычислить приближённо значение в точке
.
Для
построения интерполяционного многочлена
используем формулу (6.3) при
.
В результате получаем многочлен третьей
степени
,
который в узлах интерполяции совпадает
с табличными значениями исходной
функции:
![]()
![]()
![]()
![]()

.
Проверяем
условия
:
1)
.
Подставляем
в полученный многочлен:
;
2)
:
;
3)
:
;
4)
:
.
Вычисляем
,
.
-
Построение полинома Лагранжа в пакете mathcad.
Построение дробно-рациональных функций Лагранжа с использованием программного блока:

Полином Лагранжа можно записать так:

Проверка основного условия интерполяции:
![]()

График полученных результатов может быть таким:

Полином Лагранжа можно записать и по-другому:
,
где vx, vy – векторы, заданные табличные значения.
-
Пример построения полинома Лагранжа в пакете matlab.
function yy=lagrange(x,y,xx)
% число узлов интерполяции
N=length(x);
% число узлов, в которых высчитывается значение интерполяционного полинома
N_res=length(xx);
% создание нулевого массива значений интерполяционного полинома
yy=zeros(size(xx));
for k=1:N
% вычисление функции Лагранжа Li(X)
Li=ones(size(xx));
for j=[1:k-1, k+1:N]
for i=[1:N_res]
Li(i)=Li(i).*(xx(i)-x(j))/(x(k)-x(j));
end
end
% накопление суммы
yy = yy + y(k)*Li;
yy
end
-
Пример использования узлов Чебышева.
Заданная функция f(x) табулируется на интервале [-1,1] двумя способами: с шагом 0.2 и в узлах Чебышева. На двух полученных сетках строятся полиномы Лагранжа. Результаты визуализируются с помощью графиков. На графике, приведенном ниже, видно значительное отклонение полинома Лагранжа, построенного на сетке с шагом 0.2, от исходной функции и более приемлемое приближение функции для полинома, построенного на узлах Чебышева:
исходная
функция:
![]()
![]()

Узлы Чебышева:

![]()
![]()
![]()



-
Пример вычисления погрешности интерполирования.
Анализ погрешности замены исходной функции интерполяционным многочленом для таблиц с постоянным шагом:
![]()
![]()

![]()
![]()

![]()
![]()
