Pythonで数値計算!SymPyで積分を計算する方法

  • URLをコピーしました!

今回はPythonの数値計算ライブラリ、SymPyを使って積分を計算する方法を解説します。

目次

SymPyとは

SymPyとはPythonで利用可能な代数計算ライブラリです。
因数分解、微積分、三角関数、行列計算など様々な数値計算をライブラリを使って簡単に実行することができます。

公式サイトは以下となります。

SymPyをインストールする

SymPyをインストールするため、以下のコマンドを実行してください。

pip3 install --upgrade pip
pip install sympy

積分の公式

今回はSymPyを使って積分の計算を実行してみます。
手計算でも結果の確認をしますので、積分の公式を確認します。

不定積分の公式

不定積分の公式は以下となります。Cは積分定数です。

定積分の公式

定積分の公式は以下となります。

SymPyで積分を実装する

SymPyで積分の計算を実装する方法は以下の通りです。

計算で使用する変数をシンボルとして以下のように定義します。

x = Symbol('x')

今回は以下の式を計算してみます。

この式をPythonで以下のように記述します。Pythonではべき乗は「**」と記述します。(今回はxの2乗なのでx**2と書きます)

expr = '3*x**2+x'

積分を実行するためintegrateメソッドを使用します。
引数で式と積分範囲を指定します。

ans = integrate(expr, (x, 2, 4))

作成したソースコード

実際に積分の計算を行うコードは以下の通りです。

from sympy import integrate, Symbol

x = Symbol('x')

#積分の対象となる式
expr = '3*x**2+x'

#不定積分
ans1 = integrate(expr,x)

#定積分
ans2 = integrate(expr, (x, 2, 4))

#計算結果
print("不定積分の結果:", ans1)
print("定積分の結果:", ans2)

実行結果

Pythonの計算結果と手計算の結果を比較してみましょう。

プログラムの実行結果

実行結果は以下の通りです。

不定積分の結果: x**3 + x**2/2
定積分の結果: 62

不定積分の結果の式についてはPythonの表示が少しややこしいですが、「X**3+(X**2)/2」という意味になりますので注意が必要です。

手計算の結果

続いて同じ計算を先ほどの公式を使って手計算で解いてみます。

SymPyでの結果と一致しましたので正しいことが確認できました。

まとめ

今回はSymPyを使って積分の計算を実行する方法を解説してみました。SymPyを使うと数年前は非常に高額な数値計算ソフトを使わなければできなかったような計算が簡単に実装できますので、ぜひ積分以外の計算でも活用してみてください。

また、効率的にPythonのプログラミングを学びたい方はオンラインスクールがおすすめです。

DMMが運営するPythonオンラインスクール:DMM WEBCAMP 学習コース(Pythonコース)

それでは、また次の記事でお会いしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次