2017-03-01 68 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