插值

离散数据 的基础上补插连续 函数 ,使得这条 连续曲线 通过全部给定的离散数据点。插值是 离散函数 逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的 近似值
       与拟合不同的是,它要求曲线通过所有的已知数据。

python中:scipy的interpolate模块提供了许多插值运算的函数

1、B样条曲线插值:

一维数据的插值运算通过interp1d()完成:
interp1d(x,y,kind = 'linear', ... )

参数x和y是一系列已知的数据点,kind是插值类型,有以下候选值:
  • 'zero'、'nearest':阶梯插值,相当于0阶B样条曲线。
  • 'slinear'、'linear':线性插值,用一条直线连接所有的取样点,相当于1阶B样条曲线,其中'slinear'使用扩展库中的相关函数进行计算,'linear'使用python编写的函数进行运算,它们的结果一样。
  •  'quadratic'、'cubic':2阶和3阶B样条曲线,更高阶的曲线可以直接使用整数值指定。
  •   interp1d 对象可以计算x的取值范围之内任意点的函数值。它可以像函数一样直接调用,像numpy的ufunc函数一样能对数组中的每个元素进行计算,并返回一个新的数组。

本例中: 决定插值曲线的数据点一共有11个,插值之后的曲线数据点有101个

问题该类要求其参数x是一个递增序列,只能在x的取值范围之内进行内插计算

2、外推和Spline拟合

UnivariateSpline类的插值运算比inter1d更高,它支持外推运算:
UnivariateSpline(x,y, w= None, bbox = [None,None], k = 3, s= None)

  • x,y是保存数据点的x-y坐标的数组,其中x必须是递增序列。
  • w是为每个数据点指定的权重值。
  • k为样条曲线的阶数
  • s是平滑参数,它使得最终生成的样条曲线满足条件,即当s>0时,样条曲线并不一定通过各个数据点。为了让曲线通过所有数据点,必须将s参数设置为0.

3、二维插值
使用inter2d()可以进行二维插值运算:
interp2d(x,y,z,kind = 'linear',...)




  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值