拉格朗日插值——基于scipy实现

拉格朗日插值数学原理

在节点上给出节点基函数,然后做基函数的线性组合,组合系数为节点函数值,这种插值多项式称为拉格朗日插值公式
已最简单的两点插值为例,已知函数y = f (x)在给定互异点x0, x1上的值为y0= f (x0),y1=f (x1)线性插值就是构造一个一次多项式
P1(x) = ax + b
使它满足条件
P1 (x0) = y0 ,P1 (x1) = y1
其几何解释就是一条直线,通过已知点A (x0, y0),B(x1, y1)。
线性插值计算方便、应用很广,但由于它是用直线去代替曲线,因而一般要求[x0, x1]比较小,且f(x)在[x0, x1]上变化比较平稳,否则线性插值的误差可能很大。为了克服这一缺点,有时用简单的曲线去近似地代替复杂的曲线,最简单的曲线是二次曲线,用二次曲线去逼近复杂曲线的情形。
具体可见:
http://blog.csdn.net/jiangnanyouzi/article/details/5698122

python 实现

from scipy.interpolate  import lagrange
x = [3, 6, 9]
y = [10, 8, 4]
lagrange(x,y)
#poly1d([ -0.11111111,   0.33333333,  10.        ])

以上 lagrange(x,y) 的输出值 poly1d([−0.11111111,0.33333333,10.]) 值的是多项式的三个系数
即: a0=−0.11111,a1=0.3333333,a2=10.
如果要进行插值操作,可以:

lagrange(x, y)(10)
# 2.222222
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值