Bonjour à tous.
Je vous expose mon problème :
J'ai un tableau de cette forme que j'ai rempli après une étape de simulation (500x):
En gros, chaque i correspond a la valeur tirée, et proba[i] correspond au nombre de fois où i a été tiré lors des 500 fois.
Je veux ensuite calculer une proba, je fais donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 proba[0]=0 proba[1]=0 proba[2]=49 proba[3]=133 proba[4]=110 proba[5]=90 proba[6]=47 proba[7]=34 proba[8]=20 proba[9]=10 proba[10]=5 proba[11]=2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for(i=0;i<repeat;i++){ if(proba[i] != 0){ double pval = (proba[i])/(float)repeat; printf("proba[%d]=%d, p-val = %.3f \n",i,proba[i],pval); } }
Je cherche en fait à avoir l'indice de proba pour lequel p-val < 0.05, dans l'exemple, 8.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 proba[0]=0 pval non calculée proba[1]=0 pval non calculée proba[2]=49, p-val = 0.098 proba[3]=133, p-val = 0.266 proba[4]=110, p-val = 0.220 proba[5]=90, p-val = 0.180 proba[6]=47, p-val = 0.094 proba[7]=34, p-val = 0.068 proba[8]=20, p-val = 0.040 proba[9]=10, p-val = 0.020 proba[10]=5, p-val = 0.010 proba[11]=2, p-val = 0.004
J'avais donc fait :
Mais cela ne fonctionne pas ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 for(i=0;i<repeat;i++){ if(proba[i] != 0){ double pval = (proba[i])/(float)repeat; if(pval < 0.05){ break; return(i); } }
Comment puis je procéder ?
Partager