]> git.mxchange.org Git - simgear.git/blobdiff - simgear/math/leastsqs.hxx
cygwin and mingw fixes
[simgear.git] / simgear / math / leastsqs.hxx
index af7bdb351893956e9ee38e923e6965ea729f4aa9..3e24f77c7bcbd965be08062c863bbc33e5274ac3 100644 (file)
@@ -1,5 +1,8 @@
-// leastsqs.h -- Implements a simple linear least squares best fit routine
-//
+/**
+ * \file leastsqs.hxx
+ * Implements a simple linear least squares best fit routine.
+ */
+
 // Written by Curtis Olson, started September 1997.
 //
 // Copyright (C) 1997  Curtis L. Olson  - curt@infoplane.com
@@ -20,7 +23,6 @@
 // Boston, MA  02111-1307, USA.
 //
 // $Id$
-///
 
 
 #ifndef _LEASTSQS_H
 #endif                                   
 
 
-/* 
-Least squares fit:
-
-y = b0 + b1x
+/**
+Classical least squares fit:
 
-     n*sum(xi*yi) - (sum(xi)*sum(yi))
-b1 = --------------------------------
-     n*sum(xi^2) - (sum(xi))^2
+\f[
+    y = b_0 + b_1 * x
+\f]
 
+\f[
+    b_1 = \frac{n * \sum_0^{i-1} (x_i*y_i) - \sum_0^{i-1} x_i* \sum_0^{i-1} y_i}
+          {n*\sum_0^{i-1} x_i^2 - (\sum_0^{i-1} x_i)^2}
+\f]
 
-b0 = sum(yi)/n - b1*(sum(xi)/n)
+\f[
+    b_0 = \frac{\sum_0^{i-1} y_i}{n} - b_1 * \frac{\sum_0^{i-1} x_i}{n}
+\f]
 */
-
 void least_squares(double *x, double *y, int n, double *m, double *b);
 
-/* incrimentally update existing values with a new data point */
+
+/**
+ * Incrimentally update existing values with a new data point.
+ */
 void least_squares_update(double x, double y, double *m, double *b);
 
 
-/* 
-  return the least squares error:
+/**
+  @return the least squares error:.
+\f[
 
-              (y[i] - y_hat[i])^2
-              -------------------
-                      n
+    \frac{(y_i - \hat{y}_i)^2}{n}
+\f]
 */
 double least_squares_error(double *x, double *y, int n, double m, double b);
 
 
-/* 
-  return the maximum least squares error:
+/**
+  @return the maximum least squares error.
 
-              (y[i] - y_hat[i])^2
+\f[
+    (y_i - \hat{y}_i)^2
+\f]
 */
 double least_squares_max_error(double *x, double *y, int n, double m, double b);