2017-03-01 5 views
-1

私は通常、pythonによる統合を行うためにscipyを使います。これは私のコードです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) 

マップのように両方の要素に同時に同じ統合を行いたいと思います。実行後、表示されます:

quadpack.error:提供された関数は有効なfloatを返しません。 2つの番号のリストを返しますf

+1

を参照してください。次に、そのコードを実行しようとしたときに遭遇した問題について具体的な質問をしてください。 –

答えて

0

ます:

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は、あなたがそれを1フロートを与えることを望んでいます。

関数を別々にやり直す必要があります。または、自分でquadに相当するものを考え出してください。この種の統合には大したことはありません。

この詳細については、あなたが私たちにあなたが解決したい問題を解決しようとするあなたが書いたコードを表示する必要がありますように、ここでの回答を得るには(複製?)

Integrating functions that return an array in Python

関連する問題