2017-03-01 65 views
-1

我通常使用scipy来通过python进行集成。这是我的代码,如何使用scipy集成到函数的矢量

from scipy import integrate 
    def f(x, y, z):` 
     return [x**2 + y**2 +3*z, x + y] 
a = integrate.quad(f, 0, 1, (2,2)) 
print(a) 

我想要同时对两个元素进行相同的集成,比如map。执行后,它显示:

quadpack.error:提供的函数不返回有效的浮点数。

+1

要在这里得到的,所以你应该告诉我们的代码,你写了一个试图解决要解决的问题的答案。然后询问您尝试执行该代码时遇到的困难的具体问题。 –

回答

0

f返回2号的列表:

In [122]: def f(x, y, z): 
    ...:  return [x**2 + y**2 +3*z, x + y] 
    ...: 
In [123]: f(0,2,2) 
Out[123]: [10, 2] 
In [124]: f(1,2,2) 
Out[124]: [11, 3] 

quad要你给它一个浮子。

你必须迭代或其他方式分别解决功能。或者拿出你自己的quad等价物。关于这种整合没有什么特别的想法。

有关这方面的见(副本?)

Integrating functions that return an array in Python