double HrPwWindow::covariance(QVector<double> &Xi, QVector<double> &Yi,int n) { double cov; produittab(Xi,Yi,n); cov = moyenne(tab_temp,n) - ( moyenne(Xi,n) * moyenne(Yi,n) ); return (cov); }
double HrPwWindow::variance(QVector<double> &val,int n) { double sce; produittab(val,val,n); sce = moyenne(tab_temp,n) - ( moyenne(val,n) * moyenne(val,n)); return (sce); }
void regression(float Xi[],float Yi[],int N,float result[],float ProduitXiYi[],float carre_ecart_a_moyenne_Xi[],float carre_ecart_a_moyenne_Yi[]) { float SommeXi; float SommeYi; float MoyenneXi; float MoyenneYi; float SommeProduitXiYi; float SommeCarreXiMoinMoyenneXi; float SommeCarreYiMoinMoyenneYi; float a; float b; double r; float tab_ecart_a_moyenne[MAX]; float ecart_a_moyenne_Xi[MAX]; float ecart_a_moyenne_Yi[MAX]; int i=1; /*Calcul de la somme des Xi et Yi*/ SommeXi= somme(Xi,N); SommeYi= somme(Yi,N); /*Calcul des moyennes des Xi et Yi*/ MoyenneXi = moyenne(SommeXi,N); MoyenneYi = moyenne(SommeYi,N); /*Calcul de de la pente "a"de la droite et de l'ordonee à l'origine "b" */ /*Somme des Xi*Yi*/ produittab(Xi,Yi,ProduitXiYi,N); SommeProduitXiYi = somme(ProduitXiYi,N); /*calcul des (Xi- MoyenneXi)² et (Yi- MoyenneYi)² */ ecart_a_moyenne(Xi,tab_ecart_a_moyenne,MoyenneXi,N); i=1; while (i<(N+1)) { ecart_a_moyenne_Xi[i] = tab_ecart_a_moyenne[i]; carre_ecart_a_moyenne_Xi[i] = ((ecart_a_moyenne_Xi[i])*(ecart_a_moyenne_Xi[i]));i++; }; ecart_a_moyenne(Yi,tab_ecart_a_moyenne,MoyenneYi,N); i=1; while (i<(N+1)) { ecart_a_moyenne_Yi[i] = tab_ecart_a_moyenne[i]; carre_ecart_a_moyenne_Yi[i] = ((ecart_a_moyenne_Yi[i])*(ecart_a_moyenne_Yi[i]));i++; }; /*Somme des (Xi- MoyenneXi)²*/ SommeCarreXiMoinMoyenneXi = somme(carre_ecart_a_moyenne_Xi,N); SommeCarreYiMoinMoyenneYi = somme(carre_ecart_a_moyenne_Yi,N); /*Appel de la fonction de calcul de la pente "a" de la droite*/ a=pente(SommeProduitXiYi,MoyenneXi,MoyenneYi,SommeCarreXiMoinMoyenneXi,N); /*Appel de la fonction de calcul de l'ordonee a l'orrigine "b"*/ b=ordonee(MoyenneXi,MoyenneYi,a); /*Calcul du coefficient de corrélation "r"*/ r=corr(SommeCarreXiMoinMoyenneXi,SommeCarreYiMoinMoyenneYi,a); /*Stockage des résultats dans une tableau de varialbes*/ result[0]=SommeXi; result[1]=SommeYi; result[2]=MoyenneXi; result[3]=MoyenneYi; result[4]=SommeProduitXiYi; result[5]=SommeCarreXiMoinMoyenneXi; result[6]=SommeCarreYiMoinMoyenneYi; result[7]=a; result[8]=b; result[9]=r; }