3

我正在尝试创建一个整数值数组,将在计算中进一步使用。问题是integrate.quad 返回(答案,错误)。我不能在其他计算中使用它,因为它不是浮点数;它是一组两个数字。

4

2 回答 2

10

@BrendanWood 的回答很好,你已经接受了,所以它显然对你有用,但是还有另一个 python 习惯用法来处理这个问题。Python 支持“多重赋值”,这意味着你可以说x, y = 100, 200赋值x = 100y = 200. (有关Python 入门教程中的示例,请参见http://docs.python.org/2/tutorial/introduction.html#first-steps-towards-programming 。)

要将此想法与 一起使用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)

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

于 2013-07-23T20:20:51.253 回答
4

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]
于 2013-07-23T19:44:16.010 回答