function [a,b]=dfit(x,y);
% fittet eine Gerade so in eine Punktmenge, daß
% die Summe der quadratischen Abstände der Punkte 
% zur Geraden minimal wird
% Damit wird der fit der x auf die y symmetrisch zu dem
% der y auf die x

x=x(:).';y=y(:).';
N=length(x);
if(N ~= length(y))
   disp('Vektoren untersch. lang bei dfit.m');return;
end

x=[x;y];

%x=[[1;1+0][2;2+0][3;3+0]];
%x=[[1;2+4][2;4+4][3;6+4]];
%x=[x(2,:);x(1,:)];
%N=3;

mean_xx = mean(x(1,:).^2);
mean_yy = mean(x(2,:).^2);
mean_x  = mean(x(1,:)   );
mean_y  = mean(x(2,:)   );
mean_xy = mean(x(1,:).*x(2,:)); 
A=[[mean_xx-mean_x^2      mean_xy-mean_x*mean_y];...
   [mean_xy-mean_x*mean_y mean_yy-mean_y^2     ]];
[v,d]=eig(N*A);
[ev,ind]=min(diag(d));
e=v(:,ind);
r=(1/N)*sum(e'*x);
mean(x(1,:))*e(1)+mean(x(2,:))*e(2);
a=0;b=0;
if(e(2)==0) 
    disp('Senkrechte bei dfit.m');return;
end
a=-e(1)/e(2);
b=r/e(2);
return