c. Построение полиномов Лагранжа по вычисленным значениям
d. Построение графиков полиномов и погрешностей
Построение графиков осуществляется стандартными средствами среды MatLab 7.01. На экран выводятся графики интерполяционных полиномов с различным выбором узлов и степеней полиномов. График погрешности строится исходя из определения – как разность между точным значением функции и значением полинома в этой точке.
3. Текст программы:
RR.m
function x=RR(a,b,n) %[a,b]на n частей
h=(b-a)/n;
for i=1:n+1
x(i)=a+h*(i-1); %узлы
end
CHR.m
function x=CHR(a,b,n) %[a,b] на n частей Чебышев
for i=1:n+1
x(i)=1/2*((a-b)*cos((2*i-1)*pi/(2*n+2))+b+a); %узлы
end
OP.m
function y=OP(x) %строка значений исходной функции в узлах
for i=1:length(x)
y(i) = 1/(25*x(i).^2+1);
end
Lagr.m
function ycon=Lagr(x,y,xcon)
for j=1:length(xcon) %перебор всех значений для построения полинома
l=0;%значение полинома
for i=1:length(x)
w=1;
for k=1:length(x)
if i~=k w=w*(xcon(j)-x(k))/(x(i)-x(k));
end
end
l=l+w*y(i); %L=y(0)*w0+y(1)*w1+...
end
ycon(j)=l;
end
Graph.m
%*****n=2*****
a=-1;%Predefined constants
b=1;
buildstep=0.01;
n=2;
%RR
x=RR(a,b,n);
y=OP(x);
xcon=[a:buildstep:b];
yorigin=OP(xcon);
ypol=Lagr(x,y,xcon);
figure('Name','n=2 | Lagrange');
subplot(2,1,1)
hold on
plot(xcon,yorigin,'--r',xcon,ypol,'-b')
plot(x,y,'bo')
%CHR
x=CHR(a,b,n);
y=OP(x);
ypol2=Lagr(x,y,xcon);
plot(xcon,ypol2,'-g')
plot(x,y,'g*')
hold off
%Погрешности
subplot(2,1,2)
plot(xcon,ypol-yorigin,'-.b',xcon,ypol2-yorigin,'-b')
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.