ЛАБОРАТОРНАЯ РАБОТА №2. ИНТЕРПОЛЯЦИЯ ФУНКЦИЙ.
1.Изучить подпрограмму-функцию lagr.m, разобраться в том, как данная подпрограмма выполняет вычисление интерполяционного многочлена Лагранжа.
function [p]=lagr(t,x,f)
% lagr(t,x,f)
% Вычисление значения интерполяционного полинома
% Лагранжа в точке t по значениям функции в узлах (x,f)
% t - число, x, f - вектора одинаковой размерности
p=0;
for i=1:length(x)
w=t-x;
w(i)=1;
u=prod(w);
w=x-x(i);
w(i)=1;
u=u/prod(w);
p=p+f(i)*u;
end
2. Создать массив значений аргумента x=[-2:1:2] и соответствующий ему массив значений функции sin(x). С использованием процедуры-функции lagr.m по полученным массивам найти значение интерполяционного полинома в точке x=1.7. Каков порядок использованного полинома? Выписать в тетрадь значение полинома, значение функции sin и полученную ошибку интерполяции для точки x=1.7.
Какова теоретическая оценка ошибки интерполяции в данной точке
(см. лекции, семинар №2)?
3. Используя вызовы процедуры-функции lagr.m, создать собственную процедуруфункцию lag.m, которая формирует массив значений интерполяционного полинома для заданного набора (массива) значений аргумента t: function [z]=lag(t,x,f), где z - массив значений полинома, t - массив значений аргумента полинома; x, f - массивы, содержащие соответственно абсциссы и ординаты узлов интерполяции.
Следующий пункт задания выполнить для полинома, полученного в пункте 2, приняв a=-2, b=2, h=0,1
4. Построить график функции ошибки интерполяции eps(u)=L(u)-f(u), где L(u) - интерполяционный полином, f(u) - интерполируемая функция, для значений аргумента u из [a;b] с шагом h. (См. help plot) Выпишите в тетрадь: для какого значения аргумента u получилась наибольшая ошибка, величину ошибки и теоретическую оценку ошибки для этого значения u.
5. Построить интерполяционный полином для sin(x), по узлам x= -2, -1.1756, 0, 1.1756, 2.
Повторить выполнение пункта 4 для a=-2, b=2, h=0,1
6. Для заданной преподавателем функции f(x) и отрезка интерполяции [a,b] построить полиномы Лагранжа 5 и 8 порядков, выбирая узлы интерполяции:
а) xj = a + j(b-a)/n,
б) xj = [ b+a + (b-a)cos(2j+1)Pi/(2n+2) ]/2, j=0,1,…,n (n - порядок интерполяционного полинома).
С каждым из четырех полученных полиномов повторить выполнение пункта 4, выбирая значение h=0,1 (если преподаватель не указал иное значение шага абсциссы для построения графиков).
7. Покажите отчет выполнения работы преподавателю и объясните результаты выполнения пункта 6.