Python 索引器错误:元组索引超出范围,尝试集成功能时出错

Python 索引器错误:元组索引超出范围,尝试集成功能时出错,python,tuples,quad,Python,Tuples,Quad,我试图计算函数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_

我试图计算函数
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
回溯(最近一次呼叫最后一次):
文件“untitled.py”,第117行,在
C=f_积分(1)
文件“scr1.py”,第110行,f_integ格式
索引=np.shape(x_数组)[0]
索引器错误:元组索引超出范围

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

像这样调用函数:

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

当前,您正在向
f_integ()
传递一个数字,而不是一个数组。当它遇到
np.shape(x_数组)[0]
时,数字的形状正好是
()
,因此它不能在索引0处为空元组返回任何内容。

发布完整的错误消息,包括堆栈跟踪,以及一个。捕捉得好。但是它的形状很好,但是这个形状是一个空元组,它会抛出一个索引器,其中包含您试图索引到它的任何内容。不客气!既然这个答案对你有用,你能接受吗?