代码之家  ›  专栏  ›  技术社区  ›  jasan

用SciPy插值

  •  -1
  • jasan  · 技术社区  · 8 年前

    我想用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.]]
    

    你能帮帮我吗?

    1 回复  |  直到 8 年前
        1
  •  0
  •   Joe    8 年前

    x,y,z 形状必须相同。在您的例子中,一个有四个条目,一个有两个条目,另一个是二维的,有四个条目。这将触发numpy广播。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.broadcast.html