# -*- coding: utf-8 -*- """ Created on Sat Mar 24 06:58:00 2018 @author: jm """ from math import* from sympy import* from numpy import* from matplotlib import* X=[1,-3,8] Y=[6,-8,-4] #X est le vecteur qui contient le x_i et Y celui qui contient les y_i; #P sera le polynôme d'interpolation de Lagrange def Flagrange(X,Y): n=len(X) # n+1 est le nombre de points. n sera donc le degré du polynôme P x=symbols("x") P=0. #x est l'indéterminée du polynôme P for i in range(0,n): L=1 for j in range(0,n): if i==j: continue L=L*(x-X[j])/(X[i]-X[j]) #on a effectué les différences divisées P=P+L*Y[i]; P=simplify(P) return P #on affiche P #on prend 3 points (1;6) ,(-3;-8) et (8;-4) [voir l'exemple traité en début de document]