etudoc | theshockwave a écrit :
Montre-nous donc comment tu initialises tes matrices.
Edit : note que n'importe quel autre accès en dehors des limites des tableaux pourrait avoir le même effet (je pense à tes "t1[j], t2[i], mu_y1[j], mu_y2[i], segma_y1[j], segma_y2[i]" )
|
dans mon programme j'utilise mes vecteurs et ma matrice comme variables globaux, donc je les déclare directement comme suit:
Code :
- vector<vector<double> > mat;
- vector<double> t1, t2, mu_t1, mu_t2, segma_t1, segma_t2,mu_y1,mu_y2,segma_y1,segma_y2, rho; //Y1=ln ( t1),Y2=ln ( X2)
|
Est ce que j'ai raté quelque chose??
et pour les vecteurs je les récupère directement d'une sous fonction que j'ai deja programmé
Code :
- for(int i = 0; i < lines; i++)
- {
- t1.push_back(matrix [i][4]);
- t2.push_back(matrix [i][5]);
- mu_t1.push_back(matrix [i][10]);
- mu_t2.push_back(matrix [i][11]);
- segma_t1.push_back(matrix [i][12]);
- segma_t2.push_back(matrix [i][13]);
- cout<<t1[i]<<"\t"<<t2[i]<<"\t"<<mu_t1[i]<<"\t"<<mu_t2[i]<<"\t"<<segma_t1[i]<<"\t"<<segma_t2[i]<<"\n";
- }
|
et pour les segma_y et mu_y sont calculés en fonction de segma_t et mu_t comme suit:
Code :
- for (int i=0;i<lines;i++)
- {
- segma_y1.push_back(sqrt(log(1+(pow(segma_t1[i],2)/pow(mu_t1[i],2)))));
- mu_y1.push_back(log(mu_t1[i])-(pow(segma_y1[i],2)/2));
- segma_y2.push_back(sqrt(log(1+(pow(segma_t2[i],2)/pow(mu_t2[i],2)))));
- mu_y2.push_back(log(mu_t2[i])-(pow(segma_y2[i],2)/2));
- cout<<segma_y1[i]<<" \t "<<mu_y1[i]<<" \t "<<segma_y2[i]<<" \t "<<mu_y2[i]<<"\n";
- }
|
Message édité par etudoc le 25-08-2014 à 14:09:36 ---------------
etudoc
|