我想使用Scipy-> interpolate-> interp2d。插值结果正确,但是为什么将结果保存在列表中三遍?我使用了下一个脚本:
from scipy import interpolate
import numpy as np
def main():
x = np.array([1, 2, 3, 4])
y = np.array([1, 2])
z = np.array([[4,4,6,6],[6, 6,12, 12]])
f = interpolate.interp2d(x, y, z, kind='linear', copy = False)
xi = np.array([1.5, 2.5, 3.5])
yi = np.array([1.5,1.5,1.
结果是:
zi =[[ 5. 7. 9.][ 5. 7. 9.] [ 5. 7. 9.]]
请你能帮我吗?
答案 0 :(得分:0)
您的输入数组x,y,z
的形状必须相同。在您的情况下,一个有四个条目,一个有两个条目,另一个是带有四个条目的二维条目。这将触发numpy广播。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.broadcast.html