% harjutustund nr. 10, ülesanne 2
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
grid on
% a) lähendame andmeid kuupsplainiga S^(3,2)
ykuupsplain=interp1(x,y,x,'spline');
plot(x,ykuupsplain,'b')
hold on
% b) lähendame andmeid vähimruutude mõttes kuupfunktsiooniga kaalusid 
% mittearvestades
k3=polyfit(x,y,3) % 3 -astme polünoom, vähimruutudes
% saime Phi(x)=0.8923*x^3+2.2464*x^2+3.7054*x-0.1427
yk3=polyval(k3,x);
plot(x,yk3,'r')
hold on
% c) lähendame andmeid kuupfunktsiooniga vähimruutude mõttes
% kaalusid arvestades
% esitame maatriksi A ja B
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
% leiame C
C=inv(A)*B
% saime polünoomi Phi(x)=0.9121*x^3+2.1622*x^2+3.8204*x-0.1931
ykuupkaalud=polyval(C,x);
plot(x,ykuupkaalud,'g')
hold off
% d) leiame funktsiooni väärtused, kui x=1.12 ja x=1.35
[interp1(x,y,1.12,'spline'),polyval(k3,1.12),polyval(C,1.12)] % x=1.12
[interp1(x,y,1.35,'spline'),polyval(k3,1.35),polyval(C,1.35)] % x=1.35

