IndexError:元组索引范围不超出范围,试图集成fucntion时的错误



我正在尝试计算函数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的新手,请帮忙。

以下调用函数:

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

当前,您将一个数字传递给f_integ(),而不是数组。当它遇到np.shape(x_array)[0]时,数字的形状仅为(),因此它无法在空元组的索引0上返回任何内容。

相关内容

  • 没有找到相关文章

最新更新