是否有库模块或其他直接的方法在python中实现多元样条插值?
具体来说,我在一个规则间隔的三维网格上有一组标量数据,我需要在分散在整个域中的少量点进行插值.对于二维,我一直在使用scipy.interpolate.RectBivariateSpline,我实际上是在寻找三维数据的扩展.
我发现的N维插值例程还不够好:我更喜欢使用LinearNDInterpolator上的样条线来获得平滑度,而且我有太多的数据点(通常超过一百万),例如,径向基函数可以工作.
如果有人知道可以执行此操作的python库,或者我可以调用或移植的另一种语言,我真的很感激.
我试图在网格中的一组点上绘制一条直线.数据位于x,y,z坐标列表中.我认为map_coordinates是我想要的,但是我没有看到输入和输出的形式......任何帮助都将非常感激.
list = [[x1, y1, z1]
[x2, y2, z2]
...
[xn, yn, zn]]
Run Code Online (Sandbox Code Playgroud)
我想要查找的值是x和y值.
look_up_values= [[x1, y1]
[x2, y2]
...
[xn, yn]]
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么map_coordinates期望一个(2,2)数组和输出中的信息(2值列表).
这是一个可行的例子:
from scipy.ndimage.interpolation import map_coordinates
import numpy as np
in_data = np.array([[0.,0.,0.]
,[0.,1.,.2]
,[0.,2.,.4]
,[1.,0.,.2]
,[1.,3.,.5]
,[2.,2.,.7]])
z = map_coordinates(in_data, np.array([[1.,1.],[1.,2.]]), order=1)
print z #I do not understand this output...
#[1. .2]
Run Code Online (Sandbox Code Playgroud)
如果我不得不猜测我会说它在网格上的2点之间插值,那么买输出意味着什么呢?