# data[].attributes.attachment_link.title
Leçon de Physique Optique Instrumentale - Le Microscope

# data[].attributes.headline
Leçon : Systèmes Optiques Composés — Le Microscope

# data[].attributes.subject
Leçon : Systèmes Optiques Composés — Le Microscope

# data[].attributes.attachment_link.title
Leçon de Physique Optique Instrumentale - Le Microscope

# data[].attributes.attachment_link.title
Plans de leçons de chimie agregation (1)

# data[].attributes.attachment_link.readable_text
import numpy as np
import matplotlib.pyplot as plt

N = np.array([1, 2, 3])
y = np.array([0.97, 1.96, 2.96])
uy = np.array([0.01, 0.01, 0.01])

n_sim = 10000
a, b = np.zeros(n_sim), np.zeros(n_sim)

for i in range(n_sim):
    y_sim = np.random.normal(y, uy)
    res = np.polyfit(N, y_sim, 1)
    a[i], b[i] = res

a_opt, b_opt = np.mean(a), np.mean(b)
u_a, u_b = np.std(a, ddof=1), np.std(b, ddof=1)

print("pente : ", a_opt, "+/-", u_a)
print("ordonn��e �� l'origine : ", b_opt, "+/-", u_b)

plt.figure(figsize=(8, 6))
x_vals = np.linspace(min(N), max(N), 100)
for i in range(0, n_sim, n_sim // 100):
    plt.plot(x_vals, a[i] * x_vals + b[i], color='gray', alpha=0.1)

plt.plot(x_vals, a_opt * x_vals + b_opt, color='red', label='R��gression moyenne')
plt.errorbar(N, y, yerr=uy, fmt='o', color='blue', label='Donn��es exp��rimentales')

plt.xlabel('N')
plt.ylabel('y')
plt.title('R��gression lin��aire avec simulation Monte Carlo')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.savefig("regression_monte_carlo.png")
plt.show()

# data[].attributes.attachment_link.title
0T_Ch9 Structure et optimisation en chim org

# data[].attributes.attachment_link.title
1 Ch5 détermination d'une quantité de matière par titrage