Python 2.7 使用integrate.quad进行集成时出现无效浮点错误

Python 2.7 使用integrate.quad进行集成时出现无效浮点错误,python-2.7,scipy,integration,Python 2.7,Scipy,Integration,我有一份清单: q1 = [0,1.9488e-06,1.5473e-05,5.1829e-05,0.00012192,0.00023633,0.00040526,0.00063862,0.00094596,0.0013365,0.0018192,0.0024025,0.0030949,0.0039041,0.0048379,0.0059036] 我正试图将其整合。 我已经做了以下工作: def f(x): if (np.abs(x)<1e-10): res =

我有一份清单:

q1 = [0,1.9488e-06,1.5473e-05,5.1829e-05,0.00012192,0.00023633,0.00040526,0.00063862,0.00094596,0.0013365,0.0018192,0.0024025,0.0030949,0.0039041,0.0048379,0.0059036]
我正试图将其整合。 我已经做了以下工作:

def f(x):
    if (np.abs(x)<1e-10):
        res = x
    else:
        res = q2[:10]
    return res
x = np.arange(0,10,0.001)
def F(x):
    res = np.zeros_like(x)
    for i,val in enumerate (x):
        y,err = integrate.quad(f,0,val)
        res[i] = y
    return res     
plt.plot(F(x))
def(x):

如果(np.abs(x)您由于
f
中的这两行而出现此错误:

    else:
        res = q2[:10]
这里,您将从函数返回列表的一部分。
quad
不喜欢这样;根据,它希望函数返回一个double(即Python float),而不是列表

虽然您的问题中没有给出您的预期输出,但将该行更改为

        res = q2[0]

或者
q2
中的任何其他任意索引可以更正错误。

您的问题是否得到了充分解决?如果是,您可以通过在左侧复选框中标记正确答案来帮助您、我和社区的每个人。否则,可以澄清什么?
        res = q2[0]