Page d'accueil Description du projet
/******************************************
 *
 *   Cedric Pradalier   2001
 *   mail : http://cedric.pradalier.free.fr/mail.html  
 *
 *****************************************/


/***********************************
 *  y = a1 *x + a0 precision r square  : rs
 *  Parametres :
 *  n : nombre de données
 *  x : double[n] , données observées
 *  y : double[n] , données observées
 *  a0,a1,rs : pointeur sur des doubles -> resultats
 *  */

void linreg(int n,double * x, double * y,double * a0, double * a1, double * rs)
{
    double sxy = 0; 
    double sx = 0;  
    double sy = 0;  
    double sx2 = 0; 
    double sy2 = 0; 
    int i;
    for(i=0;i<n;i++)
    {
        sxy += x[i]*y[i];
        sx  += x[i];
        sy  += y[i];
        sx2 += x[i]*x[i];
        sy2 += y[i]*y[i];
    }
    *a1 = (sxy - sx*sy/n) / (sx2 - sx*sx/n);
    *a0 = (sy - *a1 * sx)/n;
    *rs = ((sxy -sx*sy/n)*(sxy -sx*sy/n)/(sx2 - sx*sx/n))/(sy2 - sy*sy/n);
}