La deuxième méthode d'estimation de π avec python

 Nous décrivons ici comment utiliser le problème d'aiguille de Buffon de vote pour estimer π \ piπ , introduisons une autre méthode, qui est essentiellement la même, en utilisant la méthode de Monte Carlo.

 Comme le montre la figure, une longueur de côté aléatoire est de 1 1Lancernndans le carré de 1n haricots, supposons qu'il y aitkkk est tombé sur1 4 \ frac {1} {4}41Dans le cercle unitaire, le point rouge de la figure. Alors selon la probabilité géométrique, kn = π 4 1 \ frac {k} {n} = \ frac {\ frac {\ pi} {4}} {1}nk=14Fr., Donc π = 4 kn \ pi = \ frac {4k} {n}Pi=n4 km
Insérez la description de l'image ici

Implémenté en Python:

import numpy as np

def get_pi(n):
    """

    :param n: 实验次数
    :return: π的估计值
    """
    #获得n个服从均匀分布U(0, 1)的随机数X, Y
    X = np.random.uniform(0, 1, n)
    Y = np.random.uniform(0, 1, n)
    #实验成功的次数,用向量形式实现,比用for循环要快的多,特别是n很大的时候
    k = np.sum(X ** 2 + Y ** 2 <= 1)
    #得到π的估计并返回
    pi = 4 * k / n
    return pi

print(get_pi(10000))

Sortie: 3.1424

 Le résultat de sortie est bien pire que le bien connu 3.1415926, car nous n'avons simulé que 10000 expériences et le nombre d'expériences peut être augmenté pour réduire l'erreur

Je suppose que tu aimes

Origine blog.csdn.net/TSzero/article/details/111928172
conseillé
Classement