Fonction coefficient de corrélation en C?

35LS35 Messages postés 3 Statut Membre -  
 pearson -
Bonjour,

je dois créer une fonction me permettant de calculer un coefficient de corrélation en langageC, pouvez-vous m'aider SVP?

merci d'avance!
Configuration: Windows XP Internet Explorer 6.0

1 réponse

  1. pearson
     
    Voici la fonction

    //calcul du coefficient de correlation entre deux tableaux
    double correlationPearson(double tableauX[], double tableauY[], int tailleTableau)
    {
    double sommeXY=0; //somme des Xi*yi
    double sommeX=0;//somme des Xi
    double sommeY=0;//somme des Yi
    double sommeXiCarre=0;//somme des xi carré
    double sommeYiCarre=0;
    int i=0;
    for( i=0; i<tailleTableau; i++)
    {
    sommeX+=tableauX[i];
    sommeY+=tableauY[i];
    sommeXiCarre+=pow(tableauX[i], 2.0);
    sommeYiCarre+=pow(tableauY[i], 2.0);
    sommeXY=sommeXY+(tableauX[i]*tableauY[i]);
    }
    //formule coefficient de correlation de pearson
    // ((n*sommeXY)-sommeX*sommeY)/Racine((n*sommeXiCarre-(sommeX)^2)*(n*sommeYiCarre-(sommeY)^2))
    double r=((tailleTableau*sommeXY)-sommeX*sommeY)/sqrt((tailleTableau*sommeXiCarre-pow(sommeX,2.0))*(tailleTableau*sommeYiCarre-pow(sommeY,2.0)));
    return r;
    }

    Pearson
    http://123soft.franceserv.com/
    2