Fonction coefficient de corrélation en C?

Fermé
35LS35 Messages postés 2 Date d'inscription mardi 17 novembre 2009 Statut Membre Dernière intervention 18 novembre 2009 - 18 nov. 2009 à 14:16
 pearson - 14 déc. 2009 à 20:38
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!

1 réponse

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