2 least-squares.cc -- implement minimise_least_squares
4 source file of the GNU LilyPond music typesetter
6 (c) 1996--2003 Han-Wen Nienhuys <hanwen@cs.uu.nl>
10 #include "least-squares.hh"
15 minimise_least_squares (Real
* coef
, Real
* offset
,
16 Array
<Offset
> const &input
)
23 for (int i
=0; i
< input
.size ();i
++)
25 Real x
=input
[i
][X_AXIS
];
26 Real y
= input
[i
][Y_AXIS
];
32 int N
= input
.size ();
37 Real den
= (N
*sqx
- sqr (sx
));
40 programming_error ("minimise_least_squares (): Nothing to minimise");
42 *offset
= N
? sy
/N
: 0.0;
46 *coef
= (N
* sxy
- sx
*sy
)/den
;
47 *offset
= (sy
- (*coef
) * sx
)/N
;