## Importations
import matplotlib.pyplot as plt
import numpy as np
import os

## Conversion du fichier texte en tableau
# on précise le répertoire dans lequel se trouve le fichier de données (chemin et nom du répertoire à adapter) :
os.chdir(r"C:\Users\Virginie\Desktop\MP\_poly MP 202223\_poly MP\TP\Ct TP Mesures incertitudes")
# rq avant le chemin 'r' signifie 'raw' i.e. 'brut' => pas de problème de lecture du chemin 

# 1e colonne : tension en V 
# 2e colonne : intensité en A
u,i=np.loadtxt("mesures u et i.txt",unpack=True)

def calc_R(tensions,intensites):
""" A compléter :
Écrire une fonction calc_R qui prend comme argument les deux listes tensions et intensites contenant les valeurs de u et i et qui retourne une
liste contenant les valeurs de R"""


list_R=calc_R(u,i)
# histogramme
""" A compléter : tracer l'histogramme des valeurs de R"""

# grandeurs statistiques
""" A compléter : calculer moy_R la valeur moyenne de R et u_R l'incertitude-type sur la valeur moyenne de R"""


print("R=",moy_R,"ohm") 
print("incertitude-type sur R=", u_R,"ohm")

# Rq : on peut vérifier que le résultat de la fonction np.std(list_R,ddof=1) coïncide avec l'écart type au sens statistique :
def incertitude_type(liste) :
    moy=np.average(liste)
    n=len(liste)
    sum=0
    for i in range(n) :
        sum=sum+(liste[i]-moy)**2
        sigma=np.sqrt(sum/(n-1))
    return sigma/np.sqrt(n)

u_Rbis=incertitude_type(list_R)
print("incertitude-type sur R=", u_Rbis,"ohm")