如何解决3D分散数据的python / Scipy插值
我想使用python实现3D分散数据的插值。
例如
z [0,0] = 1,z [0,4] = 2,z [2,2] = 4,z [4,0] = 3,z [4,4] = 2(X like具有z值的结构化2D向量)
并插值这些数据,以便 我可以在(x,y)坐标之间得出z值,例如z [1,2],z [2,3],z [1,1],...等。
我像下面使用scipy和numpy进行编码,但我猜使用numpy.empty((5,5))不适合我的目的,因为numpy.empty()添加了无关紧要的值。而且我只想插值5分。
from scipy import interpolate
import numpy as np
x = np.linspace(0,4,5)
y = np.linspace(0,5)
xx,yy=np.meshgrid(x,y)
z = np.empty((5,5)) # I think this is wrong
z[0,0] = 1,z[0,4] =2,z[2,2]=4,z[4,0]=3,4]= 2
f = interpolate.interp2d(x,y,z,kind='linear')
xt = np.linspace(0,10)
yt = np.linspace(0,10)
xxt,yyt = np.meshgrid(xt,yt)
ct = f(xt,yt)
我的预期输出是2D 5x5(或更大的区域,例如7x7、9x9等)数组的值,这是对5个常数点进行插值的结果。
你能帮我吗?版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。