#-*— coding:utf-8 -*- #Program 0.3 Lagrange Interpolation import matplotlib.pyplot as plt import numpy as np import scipy as np import random #随机生成10个介于(-255,255)的结点 def getdata(): a = np.zeros(10, np.double) b = np.zeros(10, np.double) for i in rang
# -*- coding: utf-8 -*- #Program 0.5 Hermite Interpolation import matplotlib.pyplot as plt import numpy as np #计算基函数的导数值 def dl(i, xi): result = 0.0 for j in range(0,len(xi)): if j!=i: result += 1/(xi[i]-xi[j]) result *= 2 return result #计算基函数值 def l
1. 数学原理 对某个多项式函数有已知的k+1个点,假设任意两个不同的都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为: 其中每个lj(x)为拉格朗日基本多项式(或称插值基函数),其表达式为: 2. 轻量级实现 利用 直接编写程序,可以直接插值,并且得到对应的函数值.但是不能得到系数,也不能对其进行各项运算. def h(x,y,a): ans=0.0 for i in range(len(y)): t=y[i] for j in range(len(y)): if i !=j: