# -*- coding: utf-8 -*-
"""
Created on Fri Oct 26 17:03:13 2018

@author: Benjamin
"""

import numpy as np
import matplotlib.pyplot as plt
import random


# Nombre de particules
N = 10000
L_x = []

for i in range(N):    
    # Position initiale
    x = 0.0
        # Déplacement maximum par pas de temps
    delta = 0.5
        # Calculer une trajectoire
    for i in range(100):
        # Tirer au sort le déplacement
        dx = random.uniform(-delta,delta)
        # En déduire la nouvelle position
        x +=  dx
    L_x.append(x)

# Une fonction gaussienne
def f(x):
    A = 1500
    a = 16
    return(A*np.exp(-x**2/a))
# discrétisée pour la tracer
L_xf = [-10 + k*0.1 for k in range(201)]
L_f = [f(x) for x in L_xf]

# Tracer la trajectoire
plt.figure()
plt.hist(L_x,20,facecolor='red')
plt.plot(L_xf,L_f,'k')
plt.xlabel('Position x')
plt.ylabel('Nombre de particules')
plt.title('Diffusion de 10000 particules sur 100 collisions de $\pm$ 0.5')
plt.show()