2017-01-25 4 views
-1

私は考えを簡単にテストしようとしています。基本的には、変数とパラメータ定数に依存する関数を定義しています。そして、私はパラメータ値の配列を持っています。最初のパラメータ値には、統合の開始点と終了点のセットがあります。第二に、私は統合の開始点と終了点の異なるセットを持っています。私はこのリンクのおかげでコードが動作していますIntegrating functions that return an array in PythonPythonでパラメータ、開始点、終了点の配列を持つ関数を組み込む

そして、それは基本的にその形式です。

私はそれでforループで関数の定義を持っている場合、私の質問は、であり、その機能のようなものになります。

gは、私が以前に定義されてきたいくつかの機能である
def F(a): 
    F = [] 
    for i in len(a): 
     F[i] = scipy.integrate.quad(g,0,1,args = (a[i],)) 
    return F 

を(コード)、私はこの機能を実装する(またはaの配列をプラグインする)配列のすべての要素は連続して実行されますか?または各要素の積分が同時に実行されるのでしょうか?

つまり、最初に付けられたリンクで、forループで定義された関数が呼び出されると、関数内のすべての計算が(インデックスを実行するforループのように)連続して実行されるか、すべての要素はすでに定義されているので

+0

ありがとうございます。私はツアー情報を見てきました。 私の質問への回答がある可能性はありますか – sasha

+0

こんにちは。この場所の仕組みに慣れさせるためにそのステップを実行していないことが明らかだったので、私はツアーを推薦しました。次のステップは、[最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例の作成方法を読むことです。投稿を編集して投稿します。一例として、あなたのコードは 'simpy.integrate.quad'と言っています。あなたが' scipy.integrate.quad'を意味すると推測しています。そしていつでも*推測*する必要があります、私たちはより多くの時間を費やして、彼らが時間を費やして助けになることを容易にしてくれた人を助けるでしょう。 –

+0

私はそのタイプミスを修正しました。うまくいけばそれはそれをより明確にします。問題は、これらの関数が後に呼び出されるときに、定義内のループをどのように実行するかです。 – sasha

答えて

0

ループが良いように表すことができる:リスト内包使用

def F(a): 
    results = [] 
    for element in a: 
     results.append(scipy.integrate.quad(g, 0, 1, args=(element,))) 
    return results 

または1ライナーとして:

def F(a): 
    return [scipy.integrate.quad(g, 0, 1, args=(element,)) for element in a] 

およびこれらの場合の両方において、積分が1に行われます(連続的に)。

+0

同じようにnumpyを使って行列に積分を適用する方法は、他の演算(加算など)を同時に適用するか? F(a)は、各要素がF(aの要素)に等しい配列ですか? – sasha

+0

おそらく、あなたが新しい質問をするのが最善でしょう。 [最小、完全、および検証可能](http://stackoverflow.com/help/mcve)の例を作成するために最善を尽くしてください。がんばろう。 –

関連する問題