我正在写一个使用python 2.7的程序,并且有困难指出插入/拟合某些矩形数据的最佳方法。Python - 拟合二维矩形数据

我有一堆已知的数据点格式为z = f(x,y),其中x和y在网格上均匀分布。我的x点范围从0到100,增量为0.1。我的y点范围从0到100,以2为增量。

我的问题是插值或拟合这些数据是我的y数据坐标之间的大间距。我正在寻找适合此数据的最佳方法,以便我可以评估任何(X,Y)坐标对的高度Z.我希望得到的表面尽可能平滑。使用griddata或rectbivariatepline的传统方法不会产生光滑的表面 - 看起来是因为我的y点之间的空间比我的x点之间的空间大得多。

我考虑过的一个选择是使用polyfit(或类似的东西)来拟合每个切片的多项式(每个X处的Y对Z曲线),然后将这些切片内插到一起以产生更平滑的表面。这似乎是一种迂回的做事方式。这是我最好的选择吗?片装配到多项式的

例如:

如果拟合多项式,我的每个切片(Y VS在固定X Z)大致是高斯或双峰的。他们是相当简单的分布。

我的目标是能够生成一个平滑,紧密贴合的表面,以3D或pcolor样式图显示。我需要避免经过Zmax和Zmin的波动。我知道这是使用样条线时的问题。

我的目标:

感谢您的帮助,您可以提供。如果您需要详细说明,我会仔细观察此线索并快速回复。

编辑:

从我看过,好像我所寻找的是一个保形性质的Python为2D数据插值方法。我需要沿着用于matlab的芯片线,但表面。我已经浏览了所有的文档,并且找不到任何能够保证表面光滑的形状。使用的GridData,或rectbivariatespline

+0

我离开我的办公桌,但我确实相信有正则化的样条插值方法。可能值得研究。 –

+0

您是否尝试过[map_coordinates](http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.interpolation.map_coordinates.html)? –