]> git.mxchange.org Git - flightgear.git/blob - DEM/leastsqs.h
Additional win32 support.
[flightgear.git] / DEM / leastsqs.h
1 /* leastsqs.h -- Implements a simple linear least squares best fit routine
2  *
3  * Written by Curtis Olson, started September 1997.
4  *
5  * Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20  *
21  * $Id$
22  * (Log is kept at end of this file)
23  */
24
25
26 /* 
27 Least squares fit:
28
29 y = b0 + b1x
30
31      n*sum(xi*yi) - (sum(xi)*sum(yi))
32 b1 = --------------------------------
33      n*sum(xi^2) - (sum(xi))^2
34
35
36 b0 = sum(yi)/n - b1*(sum(xi)/n)
37 */
38
39 void least_squares(double *x, double *y, int n, double *m, double *b);
40
41
42 /* 
43   return the least squares error:
44
45               (y[i] - y_hat[i])^2
46               -------------------
47                       n
48  */
49 double least_squares_error(double *x, double *y, int n, double m, double b);
50
51
52 /* 
53   return the maximum least squares error:
54
55               (y[i] - y_hat[i])^2
56  */
57 double least_squares_max_error(double *x, double *y, int n, double m, double b);
58
59
60 /* $Log$
61 /* Revision 1.1  1998/03/19 02:54:48  curt
62 /* Reorganized into a class lib called fgDEM.
63 /*
64  * Revision 1.1  1997/10/13 17:02:35  curt
65  * Initial revision.
66  *
67  */