loi B
Python
import numpy as np
import numpy.random as rd
import matplotlib.pyplot as plt
import time
#Première simulation
def binomiale(p,nb_sim,N):
plt.close()
rd.random(10)
start=time.time()
X=np.zeros(nb_sim)
for k in range (nb_sim):
nb_succes=0
for _ in range (N):
if rd.random()<p:
nb_succes+=1
X[k]=nb_succes
end=time.time()
duree=str("{:.2f}".format(1000*(end-start)))+"ms"
print(X,"nombre de succès à chaque fois")
B=np.zeros(N+1)
Z=(np.append([1], np.cumprod(np.arange(N,0,-1)/np.arange(1,N+1))))
for k in range(N+1):
B[k]=Z[k]*(p**k)*((1-p)**(N-k))
A=np.zeros(nb_sim)
for k in range (nb_sim):
A[k]=np.sum(X==k)
print(A,"résultats fréquence")
#A quoi ça sert si c'est pas lui dans le tableau ? = pour utiliser A il aurait fallu faire un plot et pas un histogramme : un histogramme réarange lui même les valeurs.
y=np.arange(N+2)
plt.subplot(1,2,1)
plt.hist(X, y, rwidth=0.8, align="left", density="True",label="empirique")
plt.plot([0,N+1],B, "D",label="theorique")
plt.title("rd.random, t=" + duree)
plt.legend()
#Deuxième simulation
start=time.time()
z=rd.binomial(N,p,nb_sim)
end=time.time()
duree=str("{:.2f}".format(1000*(end-start)))+"ms"
plt.subplot(1,2,2)
plt.hist(z,np.arange(N+2),rwidth=0.8,align="left",density="True",label="empirique")
plt.plot([0,N+1],B, "D",label="theorique")
plt.title("binomiale t=" + duree)
plt.legend()
plt.show()
Output
Embed on website
To embed this program on your website, copy the following code and paste it into your website's HTML:
Comments
This comment belongs to a banned user and is only visible to admins.
This comment belongs to a deleted user and is only visible to admins.