一、说明
在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。插值是离散函数逼近的重要方法,利用它可通过函数在有限个点处的取值状况,估算出函数在其他点处的近似值。插值:用来填充图像变换时像素之间的空隙。
插值方法一般是适合于低维的问题。给定一组观测值(在x轴方向进行排序),基本的思想是对两个点之间的数据做回归,得到的结果是分段定义的函数可以较好的拟合原始函数,同时函数在数据点上是连续可微的,连续可微需要至少三次插值,即cubic spline。但是这个方法也可以应用于一般的二维甚至是线性的插值。
二、插值函数
splrep函数和splev函数处理回归系数的估计和回归结果的拟合。
主要参数如下表所示:
splrep 参数
参数 | 含义 |
---|---|
x | (排序)x坐标(自变量) |
y | (x排序)y坐标(因变量) |
w | 应用于因变量的权重 |
xb,xe | 拟合区间 |
k | 拟合阶数 |
s | 平滑参数因子 |
full_out | 如果True,那么返回更多的结果 |
put | 结果 |
quite | 如果True,则忽略消息 |
splev 参数
参数 | 含义 |
---|---|
x | (排序)x坐标(自变量) |
tck | 由splrep 返回的参数序列 |
der | 导数的阶数 |
ext | 如果x不在Knot序列中的行为 |
三、一次样条插值
import numpy as np
import matplotlib.pylab as plt
import scipy.interpolate as spi
x=np.linspace(-2*np.pi,2*np.pi,25)
def f(x):