2016-12-06 12 views
-3

私は何も新しいものをインストールできません私はデフォルトのPythonライブラリを使用する必要があり、関数を統合する必要があります。私は任意のf(x)の値を得ることができ、関数f(x)は0から6まで積分する必要があります。離散的な形でPythonで数値積分を行う方法は?

+0

[質問する](http://stackoverflow.com/help/how-to-ask) –

答えて

2

、統合だけ加算、nはサンプル数であり、すなわち

enter image description here

あります。私たちはここにhigher-order functionsを利用する

def integrate(f, a, b, dx=0.1): 
    i = a 
    s = 0 
    while i <= b: 
     s += f(i)*dx 
     i += dx 
    return s 

注:私たちはB-A /をさせた場合のn(このサンプルの「幅」)DXことが、我々のようなpythonでこれを書くことができます。具体的には、fintegrateに渡される関数です。 abは私たちの境界であり、dxはデフォルトで1/10です。

# the linear function, y = x 
def linear(x): 
    return x 

integrate(linear, 1, 6) // output: 17.85 

# or using lamdba function we can write it directly in the argument 
# here is the quadratic function, y=x^2 
integrate(lambda x: x**2, 0, 10) // output: 338.35 
-1
def func(): 
    print "F(x) = 2x + 3" 
    x = int(raw_input('Enter an integer value for x: ')) 
    Fx = 2 * x + 3 
    return Fx 

print func() 

が難しい場合、あなたはランダムにしたい任意の番号を入力して機能を取得したりすることができますPythonで入力機能を使用して:これは、我々が望む任意の関数に私たちの新しい統合機能を適用するので、同じように私達を許可しますこのコーディングあなたはEDIT例えば

def func2(): 
    print "F(x) = 2x + 3" 
    x = [] 
    for numbers in range(1,7): 
     x.append(numbers) 

    upd = 0 
    for i in x: 
     Fx = 2 * x[upd] + 3 
     upd +=1 
     print Fx 

print func2() 

をforループを使用して、リストに番号を追加することができ、この必要:あなたは0からカウントを開始する番号をご希望の場合はではなく、0に範囲内の最初の値を設定します1

+0

これは関数を評価するもので、何もしません統合。 – Prune

+0

あなたは何をもっと詳しく説明できますか? – Falcon

+0

[1,6]の範囲で関数を評価しました。ポスターは[0,6]の範囲で積分を必要とします。私はあなたが与えられた関数の定積分を扱ったところはどこにも見当たりません。良いプレゼンテーションのための前の答えを見てください。 – Prune

関連する問題