% Tund 10, ülesanne 2
% andmed
x=[1.2:0.1:2];
y=[9.08,10.43,11.9,13.48,15.19,17.03,19.01,21.13,23.39];
kaalud=[1,1,2,5,1,4,2,2,1];
plot(x,y,'o')
hold on
% a) lähendame andmeid kuupsplainiga S^(3,2)
y3splain=interp1(x,y,x,'spline');
plot(x,y3splain,'b-')
hold on
% b) lähendame andmeid vähimruutude mõttes kuupfunktsiooniga
% kaalusid mitte arvestades
kordajad3=polyfit(x,y,3) % kõrgemast madalamani
% Phi(x)=0.8923x^3+2.2464x^2+3.7054x-0.1427
y3=polyval(kordajad3,x)
plot(x,y3,'r-')
hold on
% c) lähendame andmeid vähimruutude mõttes kuupfunktsiooniga
% kaalusid arvestades
% AC=B, C=?, C=[c3,c2,c1,c0]
for i=1:4
   for j=1:4
     A(i,j)=sum(kaalud.*x.^(8-i-j));     
   end
   B(i,1)=sum(kaalud.*y.*x.^(4-i));
end
C=inv(A)*B
% Phi(x)=0.9121x^3+2.1622x^2+3.8204x-0.1931
y3kaalud=polyval(C,x);
plot(x,y3kaalud,'g-')
hold off
% leiame funktsiooni väärtuse, kui 
% x=1.12
[polyval(kordajad3,1.12),polyval(C,1.12)]
% x=1.35
[interp1(x,y,1.35,'spline'),polyval(kordajad3,1.35),polyval(C,1.35)]