python中的4d插值

时间:2013-10-16 16:43:56

标签: python numpy interpolation

所以我有一个4d力场,如x yzForce附加到每个点。

我对如何插入这个有点迷失,但我遇到了这个。

http://docs.scipy.org/doc/scipy-dev/reference/generated/scipy.ndimage.interpolation.map_coordinates.html

看起来我可以制作一个x y z F的数组,然后插入它,但我真的不太确定。

任何人都知道python的任何好的库如何做到这一点?

示例输入是:

x y z Force  
0 0 0 35  
0 0 1 32  
0 0 2 23  
...  
2 5 9 54  

2 个答案:

答案 0 :(得分:1)

您描述的方式(x,y,z),这是一个3D字段,而不是4D。

插值的目的是在任何点(x,y,z)指定一个字段(在本例中为Force) 即使你没有力,恰好在那个点(x,y,z)。相反,你有许多附近点的力量,你插入它们,以获得点(x,y,z)的有意义的力。在3D中,您至少需要一个双线性插值算法,并对其进行编码(并保持索引顺序)并非易事。

在Python中,您可以使用Scipy's interpolation routines

答案 1 :(得分:0)

所以,如果我理解你是正确的,那么你在某些点给出了力,而在其他点没有,并且想要想出一个插值? 在NMR中,线性插值的使用是最新的。作为替代方案,您可以尝试使用样条曲线,但这样做会更昂贵。但这主要取决于你的力量 - 它的变化速度有多快?构建你的插值rouinte。