SciPy を用いた簡単な積分の計算例

ここでは Python の科学技術計算フレームワークである SciPy を用いて、簡単な積分の計算を行う例を紹介します。

SciPy の実行環境

実際に動作させるためには、Python 3 以上と SciPy ライブラリがインストールされている必要があります。

SciPy による積分の計算例

ここでは次の初歩的な定積分の計算を SciPy を使って計算してみましょう。

\[ \int_{0}^1 3x + 1 dx \]

Virtualenv 内でシェルで計算を実行する例

次のコマンドで ex1 という名前の Virtualenv 環境を作成します。Python のバージョンは 3.8 としています。

virtualenv -p python3.8 ex1

正常動作しない場合は「Virtualenv の使い方」などを参考に Virtualenv をインストールしてください。

次のコマンドで ex1 virtualenv を有効にします。

. ex1/bin/activate

SciPy をインストールし、Python のシェルを起動します。

pip install scipy
Collecting scipy
  Using cached scipy-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl (28.8 MB)
Collecting numpy>=1.13.3
  Using cached numpy-1.18.4-cp38-cp38-macosx_10_9_x86_64.whl (15.2 MB)
Installing collected packages: numpy, scipy
Successfully installed numpy-1.18.4 scipy-1.4.1
python
Python 3.8.0 (v3.8.0:fa919fdf25, Oct 14 2019, 10:23:27) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

ここからが SciPy を利用して、定積分の計算を行います。

>>> from scipy.integrate import quad
>>> I = quad(lambda x: 3*x+1, 0, 1)
>>> I
(2.5, 2.7755575615628914e-14)
>>> 

計算結果は (2.5, 2.7755575615628914e-14) というタプルで得られました。

タプルのひとつめの値 2.5 が計算結果です。そして、二つ目の値は誤差の最大値です。 \(\pm 2.776 \times 10^{-14}\) が誤差の範囲です。

以上、ここでは SciPy を利用して簡単な定積分の値を計算する例を紹介しました。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門