clear

x=-10:5:10;
y=[2.2 4.4 5.1 4.1 1.8];
kaalud=[2 1 1 1 2];

xvork=-10:1e-3:10;

%Vähimruutude mõttes ruutfunktsiooni otsimine
%sisestame maatriksi 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(2,2);
A(3,2)=A(2,3);
A(3,3)=sum(kaalud);
%sisestame vektori b
b(1)=sum(kaalud.*y.*x.^2);
b(2)=sum(kaalud.*y.*x);
b(3)=sum(kaalud.*y);
%Lahendame süsteemi Ac=b ehk
c=inv(A)*b'

%lähendame
yruut=polyval(c,xvork);

%joonis
plot(x,y,'r*',xvork,yruut,'k')
legend('algandmed', 'vähimruutude mõttes ruutfunktsioon')

%Kui x=2, siis
y=polyval(c,2)