1.插值scipy.interpolate
SciPy的interpolate模块提供了许多对数据进行插值运算的函数,范围涵盖简单的一维插值到复杂多维插值求解。
- 一维插值:当样本数据变化归因于一个独立的变量时;
- 多维插值:反之样本数据归因于多个独立变量时。
注:一维插值这里就不再讲述了,主要是对二维插值的一个总结。
2.interp2d()
from scipy.interpolate import interp2d
interp2d(x,y,z,kind='linear')
这里有几个注意事项:
- interp2d()中,输入的x,y,z先用ravel()被转成了一维数组
- func()的输入必须是一维的,输出是二维的(有点奇怪,感觉完成度不高)
- 插值的源数据必须是等距网格。不然的haul,运行不保存但结果不对。
3.Rbf()
Rbf的优点是,排列可以无序,可以不是等距的网格。
- 随机生成点,并计算函数值
- 插值(输入输出都是二维)
from scipy.interpolate import Rbf
func = Rbf(x, y, z