Python 使用numpy在三维空间中插值

Python 使用numpy在三维空间中插值,python,numpy,Python,Numpy,我想知道是否有一个函数可以在3D空间中插值。比如说,我有一个x,y,z坐标的矩阵。有没有一种方法可以插值和计算给定x和y的z坐标。例如: A=[1,3,5, 2,3,4 4,4,8 3,4,5] 当x=3y=3,5时,我需要计算z坐标,是的,scipy.interpolate提供了在预计算网格上进行插值的函数,以及暴露\uuu调用(x)\uuuuuu函数以根据需要计算值的对象 考虑下面的例子 import numpy as np from scipy import inter

我想知道是否有一个函数可以在3D空间中插值。比如说,我有一个x,y,z坐标的矩阵。有没有一种方法可以插值和计算给定x和y的z坐标。例如:

A=[1,3,5,
   2,3,4
   4,4,8
   3,4,5]

当x=3y=3,5时,我需要计算z坐标,是的,
scipy.interpolate
提供了在预计算网格上进行插值的函数,以及暴露
\uuu调用(x)\uuuuuu函数以根据需要计算值的对象

考虑下面的例子

import numpy as np
from scipy import interpolate

A=[1,3,5,
   2,3,4,
   4,4,8,
   3,4,5]
xs = A[0::3]
ys = A[1::3]
zs = A[2::3]

points=np.zeros((len(xs),2))
values=np.zeros((len(xs)))
points[:,0] = xs
points[:,1] = ys
values[:] = zs

interpolator = interpolate.CloughTocher2DInterpolator(points,values)
z = interpolator(3,3.5)
print(z)
此代码应输出值

5.489419430226453

它首先将n*3值的输入列表转换为三个numpy数组xs、ys和zs。然后使用在前一阶段创建的
点和
值数组创建插值器对象。

是,
scipy.interpolate
提供了在预计算网格上插值的函数,以及公开
\u调用(x)\uuuuuuuu
函数以按需计算值的对象

考虑下面的例子

import numpy as np
from scipy import interpolate

A=[1,3,5,
   2,3,4,
   4,4,8,
   3,4,5]
xs = A[0::3]
ys = A[1::3]
zs = A[2::3]

points=np.zeros((len(xs),2))
values=np.zeros((len(xs)))
points[:,0] = xs
points[:,1] = ys
values[:] = zs

interpolator = interpolate.CloughTocher2DInterpolator(points,values)
z = interpolator(3,3.5)
print(z)
此代码应输出值

5.489419430226453

它首先将n*3值的输入列表转换为三个numpy数组xs、ys和zs。然后使用上一阶段创建的
数组创建插值器对象。

scipy.interpolate.interp2d
scipy.interpolate.interp2d