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
pearson - 14 déc. 2009 à 20:38
A voir également:
- Fonction coefficient de corrélation en C?
- Fonction si et - Guide
- Moyenne avec coefficient excel - Guide
- Fonction somme excel - Guide
- Durée de fonctionnement processeur ✓ - Forum Windows 10
- Cette fonction n'est pas disponible actuellement tv lg - Forum Téléviseurs
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/
//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/