1 | // This may look like C code, but it is really -*- C++ -*-
|
---|
2 | //
|
---|
3 | // $Id: linfit.h,v 1.6 1999-11-05 13:08:30 ansari Exp $
|
---|
4 | //
|
---|
5 |
|
---|
6 | // Routines de fit lineaire, avec ou sans erreurs, en fournissant
|
---|
7 | // les fonctions ou les valeurs.
|
---|
8 | #ifndef LINFIT_SEEN
|
---|
9 | #define LINFIT_SEEN
|
---|
10 |
|
---|
11 | #include "machdefs.h"
|
---|
12 | #include "tvector.h"
|
---|
13 |
|
---|
14 | namespace SOPHYA {
|
---|
15 |
|
---|
16 | class LinFitter {
|
---|
17 | public :
|
---|
18 | LinFitter();
|
---|
19 | virtual ~LinFitter();
|
---|
20 |
|
---|
21 | double LinFit(const Vector& x, const Vector& y, int nf,
|
---|
22 | double (*f)(int, double), Vector& c);
|
---|
23 | // fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1;
|
---|
24 |
|
---|
25 | double LinFit(const Matrix& fx, const Vector& y, Vector& c);
|
---|
26 | // fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1,
|
---|
27 | // la matrice fx contient les valeurs des f:
|
---|
28 | // fx(i,j) = f(i, x(j)).
|
---|
29 |
|
---|
30 | double LinFit(const Vector& x, const Vector& y, const Vector& errY2, int nf,
|
---|
31 | double (*f)(int, double), Vector& c, Vector& errC);
|
---|
32 | // fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1,
|
---|
33 | // errY2 contient les carres des erreurs sur les Y.
|
---|
34 | // au retour, errC contient les erreurs sur les coefs.
|
---|
35 |
|
---|
36 | double LinFit(const Matrix& fx, const Vector& y, const Vector& errY2,
|
---|
37 | Vector& c, Vector& errC);
|
---|
38 | // fit lineaire des y en tant que somme de c(i)f(i,x), i=0..nf-1,
|
---|
39 | // la matrice fx contient les valeurs des f:
|
---|
40 | // fx(i,j) = f(i, x(j)).
|
---|
41 | // errY2 contient les carres des erreurs sur les Y.
|
---|
42 | // au retour, errC contient les erreurs sur les coefs.
|
---|
43 | };
|
---|
44 |
|
---|
45 | } // Fin du namespace
|
---|
46 |
|
---|
47 | #endif // LINFIT_SEEN
|
---|