wzoru interpolującego Lagrange'a

close();
clc;
clear;

n=3;
x=[1;-2;4];
y=[3;5;7];

for i=1:n
il=1;
for j=1:n
if i ~= j then
il=il.*(x(i)-x(j))
end
end
a(i)=y(i)./il
end
a
function c=fun(z)
c=0
for i=1:n
il=1
for j=1:n
if i ~= j then
il=(z-x(j)).*il;
end,
end
c=c+a(i).*il;
end

endfunction

fun(1)

Q=[-5:0.1:5];

plot(Q,fun(Q),'-',x,y,'o');
xgrid;

wzoru interpolującego w postaci naturalnej

close();
clc;
clear;

n=3;

x=[1;-2;4];
y=[3;5;7];

for i=1:n
for j=1:n
X(i,j)=x(i)^(j-1);
end
end

a=X^(-1)*y

deff('w=fun(z)','w=a(1)+a(2).*z+a(3).*z^2');

Q=[-5:0.1:5];

plot(Q,fun(Q),'-',x,y,'o');
xgrid;