【发布时间】:2019-11-07 13:44:55
【问题描述】:
我正在努力为我拥有的一些二维数据生成插值函数。我的数据不是标准的,因为 x 数组中的每个值都对应一个唯一的 y 数组。例如:
x = [0.1, 0.2]
y1 = [13.719, 10.488, 9.885, 9.704] #Corresponding to x=0.1
y2 = [13.34, 10.259, 9.275, 8.724] #Corresponding to x=0.2
z1 = [1395., 2209., 2411., 2555.] #Corresponding to y1
z2 = [1570., 2261., 2519., 2682.] #Corresponding to y2
理想情况下,我想生成一个函数 f(x, y),它将返回 z 的插值。
到目前为止,我唯一的尝试是通过使用:
from scipy.interpolate import interp2d
interpolation = interp2d(x, [y1, y2], [z1, z2])
不出所料,这会导致以下错误消息:
ValueError: x and y must have equal lengths for non rectangular grid
我理解我收到此消息的原因,并理解 interp2d 不是我应该使用的功能,但我不确定从这里去哪里。
【问题讨论】:
标签: python arrays scipy interpolation