Optimization 存储scipy griddata使用的权重以供重用

Optimization 存储scipy griddata使用的权重以供重用,optimization,scipy,interpolation,Optimization,Scipy,Interpolation,我正在尝试将数据从一个非结构化网格M1插值到另一个非结构化网格M2。为此,scipy.interpolate.griddata似乎不错 但是,我需要从M1到M2进行多次插值,只更改数据,而不更改网格。我猜想,在内部,scipy.interpolate.griddata定义了从M1插值到M2时的一些权重系数,这可能是计算中代价高昂的部分之一 因此,我希望避免每次重新计算这些重量。有办法做到这一点吗?也就是说,从一个非结构化网格到另一个非结构化网格进行多次插值,两者都保持不变,避免重新计算scipy

我正在尝试将数据从一个非结构化网格M1插值到另一个非结构化网格M2。为此,
scipy.interpolate.griddata
似乎不错

但是,我需要从M1M2进行多次插值,只更改数据,而不更改网格。我猜想,在内部,
scipy.interpolate.griddata
定义了从M1插值到M2时的一些权重系数,这可能是计算中代价高昂的部分之一

因此,我希望避免每次重新计算这些重量。有办法做到这一点吗?也就是说,从一个非结构化网格到另一个非结构化网格进行多次插值,两者都保持不变,避免重新计算
scipy.interpolate.griddata
(或等效物)?

解决方案是将scipy函数与预计算的三角剖分一起使用:

from scipy.spatial import Delaunay
from scipy.interpolate import LinearNDInterpolator

tri = Delaunay(mesh1)  # Compute the triangulation

# Perform the interpolation with the given values:
interpolator = LinearNDInterpolator(tri, values_mesh1)
values_mesh2 = interpolator(mesh2)
mesh1
是一个(点数*dim)数组

注:可用于非线性插值
griddata
使用
LinearNDInterpolator
CloughtoHer2dInterpolator

您能帮我解决类似问题吗