本記事ではPythonで積分を計算する方法を解説します。
Pythonで積分を行うためには、SymPyという代数計算ライブラリを使用します。
\[ \int_{b}^{a} f(x) dx \]
積分とは
まずは積分について簡単に解説します。
積分とは、微分の反対の操作を意味します。

グラフに表すと上記の通り、x = a、x = b、x軸と関数に囲まれた青色の面積が積分の値となります。
SymPyのインストール
まずは事前準備としてSymPyのインストールを下記のコマンドで行います。
pip install sympy
これで準備完了です。
Pythonで不定積分を計算する方法
最初にimport sympy
でライブラリをインポートし、x = sympy.Symbol('x')
で変数を定義したうえで、sympy.integrate
で不定積分を行うことができます。
\[ \int 2xdx = x^2 \]
import sympy
x = sympy.Symbol('x')
print(sympy.integrate(2*x)) # x**2
\[ \int -\frac{1}{x^2}dx = \frac{1}{x} \]
import sympy
x = sympy.Symbol('x')
print(sympy.integrate(-1/x**2)) # 1/x
\[ \int cos(x)dx = sin(x) \\ \int -sin(x)dx = cos(x) \\ \int \frac{1}{cos(x)^2}dx = tan(x) \\ \int -\frac{1}{sin(x)^2}dx = \frac{1}{tan(x)} \]
import sympy
x = sympy.Symbol('x')
print(sympy.integrate(sympy.cos(x))) # sin(x)
print(sympy.integrate(-sympy.sin(x))) # cos(x)
print(sympy.integrate(sympy.cos(x)**(-2)).simplify()) # tan(x)
print(sympy.integrate(-1/sympy.sin(x)**2).simplify()) # 1/tan(x)
\[ \int cosh(x)dx = sinh(x) \\ \int sinh(x)dx = cosh(x) \\ \int 1 – tanh(x)^2dx = tanh(x) \]
import sympy
x = sympy.Symbol('x')
print(sympy.integrate(sympy.cosh(x))) # sinh(x)
print(sympy.integrate(sympy.sinh(x))) # cosh(x)
print(sympy.integrate(1-sympy.tanh(x)**2)) # tanh(x)
このように、簡単に積分を行うことができます。
また、simplify()
を実行することで式を簡略化することができます。
Pythonで定積分を計算する方法
同様に、最初にimport sympy
でライブラリをインポートし、x = sympy.Symbol('x')
で変数を定義したうえで、sympy.integrate
で定積分を行うこともできます。sympy.integrate
の第二引数には(変数, b, a)
とすることでb
からa
までの定積分の値を計算できます。
\[ \int_{0}^{2} 2xdx = 4 \]
import sympy
x = sympy.Symbol('x')
print(sympy.integrate(2*x, (x, 0, 2))) # 4
\[ \int_{0}^{\frac{\pi}{6}} cos(x)dx = \frac{1}{2} \]
import sympy
x = sympy.Symbol('x')
print(sympy.integrate(sympy.cos(x), (x, 0, sympy.pi/6))) # 1/2
