clear %vahemälu puhtaks

%lähteandmed
x=-4:5;
y=[2.03 3 5.2 6.8 7 9.6 11 13.6 14 16.6];
kaalud=[1 1 2 2 3 3 2 2 1 1];

%maatriks A
A(1,1)=sum(kaalud.*x.^4);
A(1,2)=sum(kaalud.*x.^3);
A(1,3)=sum(kaalud.*x.^2);
A(2,1)=A(1,2);
A(2,2)=A(1,3);
A(2,3)=sum(kaalud.*x);
A(3,1)=A(1,3);
A(3,2)=A(2,3);
A(3,3)=sum(kaalud);

%vektor b
b(1)=sum(kaalud.*x.^2.*y);
b(2)=sum(kaalud.*x.*y);
b(3)=sum(kaalud.*y);

%lahendame süsteemi Ac=b
c=inv(A)*b'

%x võrk joonistamiseks ja lähendamiseks
xvork=-4:1e-3:5;
yruut=polyval(c',xvork); %ruutfunktsiooni väärtused

%võrdsete kaaludega ruutfunktsioon
kordajad=polyfit(x,y,2);
yruut_uus=polyval(kordajad,xvork);

%joonis
plot(x,y,'r*',xvork,yruut,xvork,yruut_uus)
legend('algandmed','ruutfunktsioon vähimruutude mõttes, erinevad kaalud','ruutfunktsioon võrdsete kaaludega')
xlabel('x')
ylabel('y')
title('Joonis')

%arvutamine
vastus_1=polyval(c',-1.5)
vastus_2=polyval(c',1.5)