Pythonで積分を計算する方法

Python

本記事では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
楽天Kobo電子書籍ストア
¥2,750 (2025/03/14 23:06時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場
タイトルとURLをコピーしました