# -*- coding: utf-8 -*-
"""
Created on Mon Sep  4 09:10:32 2023

@author: pbert

Méthode Monte-Carlo pour démerminer la distance focale d'une lentille
"""

import numpy as np
import matplotlib.pyplot as plt

# =============================================================================
# Données A COMPLETER
# =============================================================================

def focale(OA,OAprim):
    """Renvoie la focale d'une lentille étant données les positions
    algébriques de l'objet et de l'image par rapport au centre optique"""
    return 


#Mesures
OA=
u_OA= #Incertitude-type
OAprim=
u_OAprim=

# =============================================================================
# Génération des échantillons
# =============================================================================
n=1000
ech_OA=np.random.normal(OA,u_OA,n)
ech_OAprim=np.random.normal(OAprim,u_OAprim,n)
ech_focale=np.array([focale(ech_OA[i],ech_OAprim[i]) for i in range(n)])

# =============================================================================
# Caclul de la moyenne et de l'écart-type + affichage
# =============================================================================
res=np.average(ech_focale)
u_res=np.std(ech_focale)

affichage="La focale de cette lentille a pour valeur f'={:.4f} (unité) avec u(f')={:.2f} (unité)".format(res,u_res)
print(affichage)

plt.hist(ech_focale, bins=50)
plt.xlabel("distance focale")
plt.ylabel("nombre de valeurs")
plt.show()

