Python 脚本对三维插值的适应性

Python 脚本对三维插值的适应性,python,python-2.7,3d,scipy,interpolation,Python,Python 2.7,3d,Scipy,Interpolation,这里我需要在3D中插值我的函数。我已经知道插值是如何工作的,但我不知道如何从我的脚本中得到插值函数。实际上,我已经有了一些不同的轨迹,它们有不同的点数。这就是为什么我需要插值来减少点数并使其相等。我试图找到答案,但没有找到 下面是我的脚本: C1 = np.add.accumulate(K) C2 = np.array([0, 0, 0]) Kz = np.vstack((C2, C1)); x_new = Kz[:, 0]; y_new = Kz[:, 1]; z_new = Kz[:, 2]

这里我需要在3D中插值我的函数。我已经知道插值是如何工作的,但我不知道如何从我的脚本中得到插值函数。实际上,我已经有了一些不同的轨迹,它们有不同的点数。这就是为什么我需要插值来减少点数并使其相等。我试图找到答案,但没有找到

下面是我的脚本:

C1 = np.add.accumulate(K)
C2 = np.array([0, 0, 0])
Kz = np.vstack((C2, C1));
x_new = Kz[:, 0];
y_new = Kz[:, 1];
z_new = Kz[:, 2];
-----在这里,我不知道如何进入下一步
谢谢。

那么您的代码正在运行,您正在试图理解它在做什么?那么也许你应该发布一个不,它没有运行,我知道我想做什么。我试图减少轨迹中的步数。例如,它是2195,我试着把它设为600。对于这种情况,我使用插值。所以,我实现了它,但是如何再次实现这600个步骤呢?这就是问题所在。应用程序中的轨迹是什么?两个代码块中显示了什么?您是否正在尝试使第二个(工作)代码适应第一个块中的应用程序?什么是变量
K
?我想,什么是K并不重要。它是一个维度为2195x3的数组。所以,在x_new,y_new和z_new中,我划分了K以释放不同的访问。我想把这些值放到x_new=np.linspace(min.x_new(),max.x_new(),200)y_new=np.linspace(min.y_new(),max.y_new(),200)z_new=np.linspace(min.z_new(),max.z_new(),200)data=f(*.np.meshgrid(x_new,y_new,z_new,index='ij',sparse=True))我的插值函数=regularGridor((x_new,y_new,y_new,y=True))数据)像这样,在所有这些插值之后,我想再次收到那些新的x,y,z。如果你希望人们帮助,我想你必须把问题弄清楚。特别是上面的两个代码块。例如,您定义变量
x_new
y_new
z_new
两次。事实上,第二个模块本身运行良好。请注意,您也可以编辑原始问题以获得更详细的信息。
def f(x_new, y_new, z_new):
    return 2 * x_new ** 3 + 3 * y_new ** 2 - z_new

x_new = np.linspace(1, 940, 200)
y_new = np.linspace(940, 1568, 200)
z_new = np.linspace(1568, 2195, 200)
data = f(*np.meshgrid(x_new, y_new, z_new, indexing='ij', sparse=True))
my_interpolating_function = RegularGridInterpolator((x_new, y_new, z_new), data)
pts = np.array([[10, 950, 1600], [930, 1550, 2150]])
my_interpolating_function(pts)