import numpy as np from numpy.polynomial import polynomial as P # teste de interpolaĆ§Ć£o x=[0,1,2,3,4] y=[-2,1,0,-5,1] p=P.polyfit(x,y,4) print(p) f= lambda x : P.polyval(x,p) f(0) %matplotlib inline from matplotlib.pyplot import plot,grid plot(x,y, "ro") t=np.linspace(-.5, 4.5,100) plot(t,f(t)) grid() def Lagrange(i,t,x): '''Polinomios de Lagrange, t lista de pontos da tabela''' produto=1 for l in range(len(t)): if (l!=i) : produto = produto*(x-t[l])/(t[i]-t[l]) return produto x Lagrange(0,x,2) Lagrange(0,x,0) g= lambda t : y[0]*Lagrange(0,x,t) + y[1]*Lagrange(1,x,t) + y[2]*Lagrange(2,x,t) + y[3]*Lagrange(3,x,t) plot(t,g(t)) g1 = lambda t: sum([y[i]*Lagrange(i,x,t) for i in range(len(x))]) [g1(x[i])==y[i] for i in range(len(x))]