1.等分点、lagrange插值法
lagrange算法实现参考我的 拉格朗日差值法python实现 文章
b站视频教程:https://www.bilibili.com/video/BV14Z4y1z78B?share_source=copy_web
import numpy
import matplotlib
import math
from matplotlib import pyplot
import time
N=10 #N=100时会发生lunge现象
pi=math.pi #引入pi常量
x=[]
y=[]
time1=time.time()
for i in range(N):
x.append(round((-1+(2/N)*(N-i)),3))
def function(x1):
return math.sin(pi*x1)
for i in range(len(x)):
y.append(function(x[i]))
def lagrange_interploate(x1):
P=[]
L_n=0
for i in range(len(x)):
numerator=1
denominator=1
for j in range(len(x)):
if j!=i:
numerator*=(x1-x[j])
denominator*=(x[i]-x[j])
P.append(numerator/denominator)
for i in