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)