拉格朗日插值代码python实现(不掉包)

拉格朗日插值代码python实现(不掉包)

今天我们来讲一下,使用拉格朗日插值公式进行插值,通过python实现
那么拉格朗日插值公式是什么样的呢?
百度百科定义如下:
拉格朗日插值代码python实现(不掉包)_第1张图片
当然如果你没有看懂的话,可以再去查询一些相关资料
那么它的python代码实现如下:


import numpy as np
import os
x=[0,2,4,5,6,7]
y=[2,7,10.5,12.8,14.6,18.6]

def inter(x,e):
    result=0
    for i in  range(len(x)):
       # print(i)
        x_i=x[i]
        y_i=y[i]
        x_c=x.copy()
      #  y_c=y.copy()
        x_c.pop(i)
       # y_c.pop(i)
   #     print(x_c)
        X=np.array(x_c)
        Y=y_i

        X_f=X-x_i
        X_e=X-e
        #print(np.cumprod(X_f))
        #print(np.cumprod(X_e))
        #print(np.cumprod(X_f)[-1])
        #print(np.cumprod(X_e)[-1])
        result=result+np.cumprod(X_e)[-1]/np.cumprod(X_f)[-1]*Y
        #print("***")
        #print(np.cumprod(X_e)[-1]/np.cumprod(X_f)[-1]*Y)
    return result
result=inter(x,2.5)
print(result)

os.system("pause")

你可能感兴趣的:(python,机器学习,数学,python,算法)