import matplotlib.pyplot as plt
import numpy as np
import random as rd

X = [ 1., 2., 3., 4., 5., 6., 7., 8., 9. ]
Y = [ 3.15,  5.34,  7.22,  8.62, 11.33, 12.93, 15.35, 16.65, 19.19 ]
uY = 0.4

N = 10000
Ymc = np.random.normal(Y, uY, size = (N,len(Y)))

Ymct = np.transpose(Ymc)
amc, bmc = np.polyfit(X, Ymct, 1)

a, ua = np.mean(amc), np.std(amc, ddof=1)
b, ub = np.mean(bmc), np.std(bmc, ddof=1)
print('a = ', a, '+/-', 2*ua)
print('b = ', b, '+/-', 2*ub)

# for i in range(3) :
#     plt.plot(X, Ymc[i],'o')
# plt.xlabel('$x$',fontsize = 16)
# plt.ylabel('$y$',fontsize = 16)
# plt.xlim(0,10)
# plt.show()

color = ['blue','green','orange']
X = np.array(X)
for i in range(3) :
    plt.plot(X, Ymc[i],'o', color = color[i])
    Y_modèle = amc[i]*X +bmc[i]
    plt.plot(X, Y_modèle, color = color[i])
plt.xlabel('$x$',fontsize = 16)
plt.ylabel('$y$',fontsize = 16)
plt.xlim(0,10)
plt.show()


