Pythonで円周率を表示・計算する方法:How to display and calculate pi in Python

Pythonで円周率を表示・計算する方法:How to display and calculate pi in Python

Pythonで円周率を計算する方法

Pythonを使えば、さまざまな方法で円周率(π)を計算することができます。ここでは、以下の手法を紹介します:

  • 1. 標準ライブラリを使う
  • 2. 数値積分を利用する
  • 3. 無限級数を利用する
  • 4. モンテカルロ法を使う

1. 標準ライブラリを使う方法

Pythonの標準ライブラリmathを使えば、簡単に円周率を取得できます。

import math
print(math.pi)  # 結果:3.141592653589793
    

math.piを使うと高精度なπの値が返されます。

2. 数値積分を利用する方法

数値積分を使って、円周率を近似計算することも可能です。以下は、円の面積からπを求める例です:

import numpy as np

# 円の面積を数値積分で計算
n = 1000000
x = np.linspace(0, 1, n)
y = np.sqrt(1 - x**2)
area = np.sum(y) * (1 / n) * 4  # 円の4分の1を4倍する
print(area)  # 結果はπに近似
    

3. 無限級数を利用する方法

無限級数の例として、ライプニッツ級数を使った方法を紹介します:

def leibniz_pi(n_terms):
    pi_estimate = 0
    for k in range(n_terms):
        pi_estimate += (-1)**k / (2 * k + 1)
    return pi_estimate * 4

print(leibniz_pi(100000))  # 精度を上げるために項数を増やします
    

項数を増やすことで、円周率の精度を高めることができます。

4. モンテカルロ法を使う方法

乱数を使って、円周率を近似計算するモンテカルロ法の例です:

import random

def monte_carlo_pi(n_points):
    inside_circle = 0
    for _ in range(n_points):
        x, y = random.random(), random.random()
        if x**2 + y**2 <= 1:
            inside_circle += 1
    return (inside_circle / n_points) * 4

print(monte_carlo_pi(1000000))  # 精度を上げるために点数を増やします
    

モンテカルロ法はランダム性に依存するため、結果にはわずかなばらつきがあります。

まとめ

Pythonでは、mathライブラリを使う方法が最も簡単ですが、数値計算や無限級数、モンテカルロ法を使うことで、円周率の計算をより深く理解することができます。精度や計算速度の要求に応じて適切な方法を選びましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です