
J'ai donc réalisé 3 programmes. Le premier donne la loi de probabilité que suit la variable X lorsqu'on lui donne les paramètres N et P. Le deuxième donne l'intervalle de fluctuation d'un échantillon avec possibilité de rentrer le seuil (par exemple 0.95) et le dernier fait la somme des probabilités allant d'un événement X1 à un événement X2.
Les trois marchent bien mais ils sont relativement lents et je suis quasi-sur qu'il serait possible de les optimiser. Je poste donc le code des 3 programmes et j'espère que vous aurez le temps d'y jeter un coup d'oeil. En vous remerçiant !
Loi de probabilité:
- Code: Select all
ClrHome
Input "P=",P
Input "N=",N
ClrHome
"binompdf(N'P'K->Str1
0->K
1->U
4->J
If N<=2:Goto 1
If N>2:Goto 2
Lbl 1
While K<(N+1
expr(str1->Z
Output(2K+1,1,"P(X=
Output(2K+1,5,K
Output(2K+1,6,")=
Output(2K+1,8,Z
K+1->K
End
Pause
ClrHome
Stop
Lbl 2
While K<J
expr(str1->Z
Output((2K+(U),1,"P(X=
Output((2K+(U),5,K
Output((2K+(U),7,")=
Output((2K+(U),9,Z
K+1->K
End
Pause
ClrHome
U-8->U
J+4->J
If K>(N-3):Goto 3
If K>(N-1):Goto 2
If K>N:Stop
Lbl3
CLrHome
While K<(N+1)
expr(str1->Z
Output((2K+(U),1,"P(X=
Output((2K+(U),5,K
Output((2K+(U),7,")=
Output((2K+(U),9,Z
K+1->K
End
Pause
ClrHome
Le programme d'échantillonage :
- Code: Select all
ClrHome
Input "P=",P
Input "N=",N
Input "Seuil",I
.5(1-I)->X
.5(I+(1-I->Y
ClrHome
0->K
0->Z
0->W
"Binompdf(N,P,K)->Str1
Lbl 1
ClrHome
While Z<=X
(expr(Str1)+Z)->Z
K->A
K+1->K
End
Lbl 2
0->K
While W<=Y
(expr(Str1)+W)->W
K->B
K+1->K
End
Output(1,1,"A=
Output(1,3,A
Output(2,1,"B=
Output(2,3,B
Output(3,1,"A/N=
Output(3,5,A
Output(3,9,"/
Output(3,10,N
Output(4,4"=,
Output(4,5,A/N
Output(5,1,"B/N=
Output(5,5,B
Output(5,9,"/
Output(5,10,N
Output(6,4,"=
Output(6,5,B/N
Output(7,1,"U1=
Output(7,4,Z
Output(8,1,"U2=
Output(8,4,W
Pause
ClrHome
Finalement le programme qui fait la somme de P(X=X1) à P(X=X2) :
- Code: Select all
ClrHome
Input "P=",P
Input "N=",N
ClrHome
Input "X1=",X
Input "X2=",Y
X->K
"binompdf(N,P,K->Str1
0->Z
While K<(Y+1)
expr(Str1)+Z->Z
K+1->K
End
ClrHome
Output(1,1,"S=
Output(1,3,Z
Pause
ClrHome
N'hésitez pas à me poser des questions sur l'utilité de certaines choses dans les programmes.