# TODO: Add comment
# 
# Author: E.Korsching 10.9.2006
###############################################################################



linfit.ssq <- function(x,y){
	# linear fit based on least square estimation
	#  ssq in y - therefore x, y can not be switched !
	xbar <- mean(x)
	ybar <- mean(y)
	
#	co.var.xy <- sum((x-xbar)*(y-ybar))		#empiric covariance of xy
#	var.x <- sum((x-xbar)^2)				#empiric variance of x
	
	b <- sum((x-xbar)*(y-ybar))/sum((x-xbar)^2)			# estimator for b (slope)
	a <- ybar-b*xbar									# estimator for a (intercept)
	ei <- y-a-b*x										# estimator for the theoretical residuals
	
#	ei : Abstände von der Fitgeraden zum Originalwert - von der Fitgeraden aus gesehen bzgl. Vorzeichen (- nach unten, + nach oben)
#	return(ei)			#vector of distances
	return(sum(ei^2))	#ssq
}



#linfit.ssq(c(1,2,3),c(1,1,1))
#linfit.ssq(c(1,1,1),c(1,2,3))



