[C++] Calcul de covariance
khaoula.85
Messages postés
38
Statut
Membre
-
khaoula.85 Messages postés 38 Statut Membre -
khaoula.85 Messages postés 38 Statut Membre -
Bonjour tout le monde,
Je veux calculer la covariance d'une matrice en C++ à l'aide de Visual Studio, le problème est que j'ai un bug que j'arrive pas à détecter lors de l'exécution.
Je pense que c'est dû aux variables que j'ai utilisées. Voici mes deux fonctions pour calculer la moyenne et la covariance :
Quelqu'un pourrait m'aider s'il vous plait ?
Merci par avance !
K.
Je veux calculer la covariance d'une matrice en C++ à l'aide de Visual Studio, le problème est que j'ai un bug que j'arrive pas à détecter lors de l'exécution.
Je pense que c'est dû aux variables que j'ai utilisées. Voici mes deux fonctions pour calculer la moyenne et la covariance :
bool Gadp::ComputeMeanColumnVector(std::vector<double> &o_vMean )
{
o_vMean.clear();
if(m_Matrix.size() != m_iNBColumn || m_Matrix[0].size() != m_iNBRow)
return false;
for(int i = 0; i < m_iNBColumn; i++)
{
double somme = 0;
for(int j = 0; j < m_iNBRow ; j++)
{
somme += m_Matrix[i][j];
}
double mean = somme/m_iNBRow;
o_vMean.push_back(mean);
}
return true;
}
const std::vector<std::vector<double> > Gadp::GetCovariance()
{
return m_var;
}
// Cov(i,j) = sum[ (X-mean(Xi))* (Y - mean(Yj))] / n
void Gadp::calCovariance()
{
int i,j,k;
double factor;
ComputeMeanColumnVector(m_MeanMat);
for(i=0;i<m_iNBRow; i++)
{
for(j=0;j<m_iNBColumn; j++)
{
factor=0;
for(k=0;k<m_iNBRow;k++)
{
factor+=(m_mat[k][i] - m_MeanMat[i])*(m_mat[k][j] - m_MeanMat[j]);
}
m_var[i][j]= factor/m_iNBColumn;
}
}
return ;
}
Quelqu'un pourrait m'aider s'il vous plait ?
Merci par avance !
K.
A voir également:
- [C++] Calcul de covariance
- Calcul km marche à pied gratuit - Télécharger - Sport
- Calcul moyenne excel - Guide
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Logiciel gratuit calcul surface m2 - Télécharger - Outils professionnels