[Python][Scipy]関数を定積分して面積を求めるには?

python

どうも、ちょげ(@chogetarou)です。

Scipyを使って、関数を定積分して特定の範囲の面積を求める方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Scipyを使って関数を定積分して特定の範囲の面積を求めるには、scipy.integrateのquad()を使います。

まず、scipy.integrateからquad()をインポートします。

from scipy.integrate import quad

次に、quad()を呼び出します。

quad()の第1引数に積分する関数を指定します。

そして、第2引数に下端、第3引数に上端を指定します。

#関数fのaからbまでの定積分
I, err = quad(f, a, b)

上記のquad()は、第1引数の関数の第2引数の値から第3引数の値までの定積分の結果を返します。

また、quad()は定積分の結果に加えて、積分値の誤差を返します。

使用例

from scipy.integrate import quad

def f(x):
    return 2.0*x*x + 5*x + 6

I, err = quad(f, 0, 3)

print(I)
print(err)
出力:
58.5
6.494804694057166e-13

コメント

タイトルとURLをコピーしました