home *** CD-ROM | disk | FTP | other *** search
- # fit([x1,x2,...], [y1,y2,...]) fits [y1,y2,...] into a straight line of
- # a+b*x
- # e.g. fit([1,2,3],[1,3/2,2]) gives 1/2+1/2*x
-
- fit(xlist_,ylist_) := block(xmean:=average(xlist), ymean:=average(ylist),
- length:=length(xlist),
- lxx:=sum((member(xlist,j)-xmean)^2, j,1,length,1),
- lxy:=sum((member(xlist,j)-xmean)*(member(ylist,j)-ymean), j,1,length,1),
- ymean-lxy/lxx*xmean+lxy/lxx*x,
- local(p,xmean,ymean,lxx,lxy,length))
-