Correction de la partie C de l'activité 11
# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
#Importation du module pylab qui permet de dessiner dans un repère
#http://www.courspython.com/introduction-courbes.html
from pylab import *
#Programme qui fonctionne mais qui pour de grandes valeurs de n est très lent
def f(x):
return -x**3+x
def aire(tailleEchantillon):
n=tailleEchantillon
compteur=0
for i in range(n):
x=random()
y=random()
if y<=f(x):
compteur=compteur+1 #Si le point est en dessous de la courbe alors on incrémente le compteur
aire=compteur/n
return aire
def repreFluctuation(tailleEchantillon, nbEchantillon):
M=nbEchantillon
n=tailleEchantillon
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
xlim(0, M)
ylim(0, 0.5)
grid(True)
axis([0, M, 0, 1])
a=arange(0, M+1, 20)
major_ticks = np.arange(0, 1, 0.1)
minor_ticks = np.arange(0, 1, 0.05)
ax.set_yticks(major_ticks)
ax.set_yticks(minor_ticks, minor=True)
ax.grid(which='minor', alpha=0.5)
ax.grid(which='major', alpha=1)
x=0
y=0
compteur=0
for i in range(M):
plot(i,aire(n),'r.')
show()
n=100
M=200
repreFluctuation(n,M)