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

索引器错误:元组索引超出范围,尝试集成函数时出错

  •  0
  • ani87  · 技术社区  · 8 年前

    我试图计算函数的值 f_integ ,这是功能整合的结果 f 从0到 x_v .

       f = lambda x : x + 1
    
        def f_integ(x_array):
            int_result = np.zeros_like(x_array)
            indexes = np.shape(x_array)[0]
            for ind in range(indexes):
                x_v = x_array[ind]
                int_result[ind] = integ.quad(f, 0.0, x_v)[0]
            return int_result
    
        C = f_integ(1)
        print "C", C
    

    Traceback (most recent call last):
      File "untitled.py", line 117, in <module>
        C = f_integ(1)
      File "scr1.py", line 110, in f_integ
        indexes = np.shape(x_array)[0]
    IndexError: tuple index out of range
    

    我知道 quad() 返回一个元组,但我不知道如何将数字作为参数放入积分结果中。我是Python新手,请帮忙。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Antimony Jeff Evernham    8 年前

    如下调用函数:

    C = f_integ(np.array([1]))
    print "C", C
    

    当前您正在将数字传递给 f_integ() np.shape(x_array)[0] ()