diff --git a/ISC_421_Controle_4_Saroukhanian_Iliya.py b/ISC_421_Controle_4_Saroukhanian_Iliya.py
index 459460916b9f0f2a8632db73d925d3c882861219..3c862c43165c64240e08587adcfe38f6839eab8f 100644
--- a/ISC_421_Controle_4_Saroukhanian_Iliya.py
+++ b/ISC_421_Controle_4_Saroukhanian_Iliya.py
@@ -206,8 +206,25 @@ def ex2_taylor_poly():
     plt.show()
 
 
+def polerr(nb_points, interpolation_pts, plot_range):
+    errs_range = []
+
+    for pt in plot_range:
+        prod = 1
+
+        for inter_pt in interpolation_pts:
+            prod *= pt - inter_pt
+
+        err = (SD.Maximal_derivatives_values[nb_points - 1] /
+               math.factorial(nb_points + 1)) * np.abs(prod)
+
+        errs_range.append(err)
+
+    return errs_range
+
+
 def ex3_lagrange_interpolation_poly():
-    nb_points = np.linspace(1, 13, 6, dtype=np.uint64)
+    nb_points = np.linspace(1, 12, 6, dtype=np.uint8)
     fig, axes = plt.subplots(2, 3, figsize=(20, 12))
 
     t = np.linspace(SD.a, SD.b, Nmbre_pts)
@@ -225,14 +242,21 @@ def ex3_lagrange_interpolation_poly():
         l_poly_chebyshev_pts = lagrange(
             chebyshev_points_mapped, SD.f(chebyshev_points_mapped))
 
+        uniform_err = polerr(nb_points[i], interpolate_pts, t)
+        chebyshev_err = polerr(nb_points[i], chebyshev_points_mapped, t)
+
         ax.plot(t, SD.f(t), color='black', label='f')
         ax.plot(t, l_poly_uniform(t), color='red',
                 label='$L_{f}$, intervalle équidistants')
-        ax.plot(t, np.abs(SD.f(t) - l_poly_uniform(t)), '--', color='red',
+        # ax.plot(t, np.abs(SD.f(t) - l_poly_uniform(t)), '--', color='red',
+        #         label='$L_{f}$, intervalle équidistants, erreur')
+        ax.plot(t, uniform_err, '--', color='red',
                 label='$L_{f}$, intervalle équidistants, erreur')
         ax.plot(t, l_poly_chebyshev_pts(t), color='blue',
                 label='$L_{f}$, points de Chebyshev')
-        ax.plot(t, np.abs(SD.f(t) - l_poly_chebyshev_pts(t)), '--', color='blue',
+        # ax.plot(t, np.abs(SD.f(t) - l_poly_chebyshev_pts(t)), '--', color='blue',
+        #         label='$L_{f}$, points de Chebyshev, erreur')
+        ax.plot(t, chebyshev_err, '--', color='blue',
                 label='$L_{f}$, points de Chebyshev, erreur')
         ax.plot(interpolate_pts, SD.f(interpolate_pts), 'o', color='red',
                 label='Points équidistants')
@@ -240,7 +264,7 @@ def ex3_lagrange_interpolation_poly():
                 SD.f(chebyshev_points_mapped[::-1]), 'o', color='blue',
                 label='Points de Chebyshev')
         ax.set_title(f'n = {nb_points[i]}')
-        ax.set_ylim([-1.2, 1.2])
+        # ax.set_ylim([-1.2, 1.2])
 
         ax.legend()
 
@@ -250,7 +274,12 @@ def ex3_lagrange_interpolation_poly():
     plt.show()
 
 
+def caca():
+    print(len(SD.Maximal_derivatives_values))
+
+
 ex3_lagrange_interpolation_poly()
+# caca()
 
 
 # def ex3_newton_interpolation_poly():