% Tund 8, ülesanne 2
% andmed
x=[0,1,4];
y=[1,2,2];
% andmed joonisel
plot(x,y,'o')
axis([-2,6,-2,4])
hold on
% leiame teise astme polünoomi, sõlmi kolm
% polünoomi aste on (sõlmede arv-1)
A=[0^2 0^1 1
    1^2 1^1 1
    4^2 4^1 1];
B=[1
    2
    2];
C=inv(A)*B
% saime polünoomiks Phi(x)=-0.25*x^2+1.25*x+1
phi=@(x) -0.25*x^2+1.25*x+1;
fplot(phi)
% kontrollime interpolatsioonitingimuste täidetust
[phi(0),phi(1),phi(4)]

% koostame Lagrange'i interpolatsioonipolünoomi
syms xx;
summa=0;
for i=1:length(x)
    L=1;
   for j=1:length(x)
      if i~=j
         L=L*(xx-x(j))/(x(i)-x(j));
      end
   end
   summa=summa+y(i)*L;
end
lagrangepolynoom=simplify(summa)

syms z(xx); % sümboolne funktsioon
z(xx)=lagrangepolynoom;
% kontrollime interpolatsioonitingimusi
[z(0),z(1),z(4)]