MATLAB griddata 3 for NumPy?

时间:2009-12-29 04:15:23

标签: python numpy analysis interpolation scientific-computing

我意识到NumPy通过Matplotlib有一个griddata,但是有一个griddata3(同样有griddata,但更高的维度)?

换句话说,我有(x,y,z,d(x,y,z))其中(x,y,z)形成不规则网格,d(x,y,z)是标量函数三个变量。我需要使用某种插值生成一组新的(xi,yi,zi)点的d(xi,yi,zi),这种插值可以处理原始(x,y,z)数据的不均匀性。 / p>

最终,(xi,yi,zi,d(xi,yi,zi))数据必须以某种方式呈现为表面,但这对以后来说是一个问题。我也没有d(。)函数的分析形式;我只是有数据。

3 个答案:

答案 0 :(得分:1)

不确定如何渲染3个变量的标量函数的表面,除非使用cutplanes或类似的东西。 Mayavi(真正VTK为Mayavi提供支持)通过enthought.mayavi.mlab.pipeline.delaunay3d支持有效的Delaunay三角剖分,griddata3delaunay3d使用的算法的核心。查看他们发布的the 2D example代码,只需添加一个维度(并使用{{1}}代替)。我不知道如何明确获取用于渲染表面的插值,但可能有一种方法可以通过Mayavi对其进行采样,您可以通过文档挖掘或询问其中一个Enthought邮件列表。

或者,NCAR natgrid库中的C函数之一可能有用,即dsgrid3d。有一个部分包装器实现为matplotlib toolkit

答案 1 :(得分:1)

SciPy 0.9(目前,第一个测试版已经发布)有一个新的griddata函数,可以处理N维数据。

答案 2 :(得分:0)

我不熟悉griddata3,但您可能希望查看meshgrid这与post相关。