Python 我应该使用哪个scipy函数在2D中从矩形网格插值到规则间隔的矩形网格?
我对python非常陌生,我正在寻找从一个网格到另一个网格进行插值的最有效的python方法。 原始栅格是结构化栅格(也使用术语“规则栅格”或“矩形栅格”),且间距不均匀。 新栅格是一个规则间隔的栅格。两个栅格都是二维的。现在可以使用简单的插值方法,比如线性插值,将来我可以尝试一些不同的方法,比如双三次插值 我知道有一些方法可以将不规则网格插值为规则网格,但是考虑到我原始网格的规则结构,应该可以使用更有效的方法 在scipy文档中搜索后,我找到了两种似乎适合我的情况的方法:Python 我应该使用哪个scipy函数在2D中从矩形网格插值到规则间隔的矩形网格?,python,numpy,scipy,grid,Python,Numpy,Scipy,Grid,我对python非常陌生,我正在寻找从一个网格到另一个网格进行插值的最有效的python方法。 原始栅格是结构化栅格(也使用术语“规则栅格”或“矩形栅格”),且间距不均匀。 新栅格是一个规则间隔的栅格。两个栅格都是二维的。现在可以使用简单的插值方法,比如线性插值,将来我可以尝试一些不同的方法,比如双三次插值 我知道有一些方法可以将不规则网格插值为规则网格,但是考虑到我原始网格的规则结构,应该可以使用更有效的方法 在scipy文档中搜索后,我找到了两种似乎适合我的情况的方法:scipy.inter
scipy.interpolate.RegularGridInterpolator
和scipy.interpolate.RectBivariateSpline
。
我不明白这两个函数之间的区别,我应该使用哪一个?
差异是否纯粹在于插值方法?此外,虽然原始网格的非均匀间距在RegularGridInterpolator
中有明确提及,RectBivariateSpline
文档对此保持沉默
谢谢
Andrea矩形二元样条线
将网格想象为峡谷,其中高值为峰值,低值为谷。二元样条曲线将尝试拟合峡谷上方的薄板进行插值。只要您提供的x和y阵列也是不规则间隔的,并且所有内容仍然位于矩形网格上,这仍然适用于不规则间隔的输入
正则网格插值器
相同的峡谷,但现在我们将线性插值要插值的周围网格点。我们假设输入数据的间隔是规则的,以节省一些计算。听起来这对你不管用
现在怎么办?
这两个图都是2D-1D。听起来您有一个不规则的输入空间,其中包含矩形间隔的采样点,还有一个输出空间,其中包含规则间隔的采样点。你可以试试LinearNDInterpolator,因为你是2D的,所以不会贵很多
如果要在两个2D对象之间插值贴图,则需要执行两个插值,一个插值(x1,y1)->x2,另一个插值(x1,y1)->y2
VSTACK这些输出将在输出空间中为您提供一组点
在scipy中,我不知道有哪种更有效的方法可以在给定不规则网格输入的情况下利用插值输出的预期结构。RectBivariateSpline
将网格想象为峡谷,其中高值为峰值,低值为谷。二元样条曲线将尝试拟合峡谷上方的薄板进行插值。只要您提供的x和y阵列也是不规则间隔的,并且所有内容仍然位于矩形网格上,这仍然适用于不规则间隔的输入
正则网格插值器
相同的峡谷,但现在我们将线性插值要插值的周围网格点。我们假设输入数据的间隔是规则的,以节省一些计算。听起来这对你不管用
现在怎么办?
这两个图都是2D-1D。听起来您有一个不规则的输入空间,其中包含矩形间隔的采样点,还有一个输出空间,其中包含规则间隔的采样点。你可以试试LinearNDInterpolator,因为你是2D的,所以不会贵很多
如果要在两个2D对象之间插值贴图,则需要执行两个插值,一个插值(x1,y1)->x2,另一个插值(x1,y1)->y2
VSTACK这些输出将在输出空间中为您提供一组点
我不知道在scipy中有哪种更有效的方法可以在给定不规则网格输入的情况下利用插值输出的预期结构