function [x,y]=mrezaupdate(A,x0,y0);

% Metoda vrne popravke za nalogo z geometrijsko mrezo znotraj osnovnega kvadrata
% Zacetne podatke dobimo z [A,x,y]=tocke_podatki(vpisna), kjer je vpisna poljubno
% naravno stevilo. A ima v vsaki vrstici podatke o eni meritvi, v vsaki vrstici so 
% trije elementi: i j d, kje sta i,j indeksa tock (1-7), d pa "izmerjena" razdalja.
% x0 in y0 sta vektorja s koordinatami tock (tudi za stiri fiksne tocke v ogljiscih
% enotskega kvadrata

M=zeros(15,14);
b=zeros(15,1);
for k=1:15
    i=A(k,1);
    j=A(k,2);
    d=A(k,3);
    d0=sqrt((x0(i)-x0(j))^2+(y0(i)-y0(j))^2);
    M(k,A(k,1))=2*(x0(i)-x0(j));
    M(k,A(k,1)+7)=2*(y0(i)-y0(j));
    M(k,A(k,2))=-2*(x0(i)-x0(j));
    M(k,A(k,2)+7)=-2*(y0(i)-y0(j));
    b(k)=d^2-d0^2;
end
M=M(:,[5 6 7 12 13 14]);  % matrika iz predolocenega sistema
z=M\b;						  % resimo predoloceni sistem 	
x=[zeros(4,1); z(1:3)];   % popravek (prvi stiri tocke so fiksne)
y=[zeros(4,1); z(4:6)];   % popravek (prvi stiri tocke so fiksne)


