如何隔离scipy.integrate.quad函数的结果,而不是计算的结果和错误



我正在尝试创建一个积分值数组,以便在计算中进一步使用。问题是integrate.quad返回(answer,error)。我不能在其他计算中使用它,因为它不是浮点;它是一组两个数字。

@BrendanWood的答案很好,你已经接受了,所以它显然对你有效,但还有另一个python习惯用法可以处理这个问题。Python支持"多重分配",也就是说可以用x, y = 100, 200来分配x = 100y = 200。(请参见http://docs.python.org/2/tutorial/introduction.html#first-python入门教程中示例的编程步骤。)

要将这个想法用于quad,您可以执行以下操作(对Brendan的示例进行修改):

# Do the integration on f over the interval [0, 10]
value, error = integrate.quad(f, 0, 10)
# Print out the integral result, not the error
print('The result of the integration is %lf' % value)

我发现这个代码更容易阅读。

integrate.quad返回两个值的tuple(在某些情况下可能会返回更多数据)。您可以通过引用返回的元组的第零个元素来访问答案值。例如:

# import scipy.integrate
from scipy import integrate
# define the function we wish to integrate
f = lambda x: x**2
# do the integration on f over the interval [0, 10]
results = integrate.quad(f, 0, 10)
# print out the integral result, not the error
print 'the result of the integration is %lf' % results[0]

相关内容

  • 没有找到相关文章

最新更新