Блок-схема интерполяции многочленом Лагранжа

Пример. По заданным точкам: xi=-1 0 1; yi=1 0 1. Определить интерполяционный многочлен L(x).

L(x)=x2

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

function DATA

global x y xz;

x=[-2; -1; 0; 1; 2];

y=[2;0;0;2;6];

xz=[-5:5];

end

 

function [ yr ] = fun_Interpol_Lagrange(x,y,xz)

nz=length(xz);

n=length(x);

for i=1:nz

yr(i)=0;

for k=1:n

   pr=1;

   for j=1:n

       if j~=k

           pr=pr*(xz(i)-x(j))/(x(k)-x(j));

       end %if

   end % for j

   yr(i)=yr(i)+pr*y(k);

end %for k

end %for i   

 end % function

 

function GLAV_Interpol_Lagrange

global x y xz yr;

DATA;

[ yr ] = fun_Interpol_Lagrange(x,y,xz);

REPORT;

end

 

function REPORT

global x y xz yr;

disp('Interpol Lagrange');

disp(' ');

disp(' i      x        y'); 

disp(' _____________________________')

i=0;

for i=1:length(x)

xx=x(i);

yy=y(i);

disp(sprintf('%10.1f\t%10.5f\t %10.5f',i,xx,yy));

end %for

disp(' ');

disp(' i      xz        yz'); 

disp(' _____________________________')

i=0;

for i=1:length(xz)

xx=xz(i);

yy=yr(i);

disp(sprintf('%10.1f\t%10.5f\t %10.5f',i,xx,yy));

end %for

plot(x,y,'r*',xz,yr,'k-');

grid on;

xlabel('x *, xz --');

ylabel('y *, yr --');

title('Interpol Lagrange');

end


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: