Die zweite Methode zur Schätzung von π mit Python

 Wir beschreiben hier , wie das Voting-Buffon-Nadelproblem verwendet wird, um π \ pi zu schätzenπ , lassen Sie uns eine andere Methode einführen, die im Wesentlichen dieselbe ist und die Monte-Carlo-Methode verwendet.

 Wie in der Abbildung gezeigt, beträgt eine zufällige Seitenlänge 1 1Wirfnnin das Quadrat von 1n Bohnen, nimm an, es gibtkkk fiel auf1 4 \ frac {1} {4}41Im Einheitskreis der rote Punkt in der Abbildung. Dann ist gemäß der geometrischen Wahrscheinlichkeit kn = π 4 1 \ frac {k} {n} = \ frac {\ frac {\ pi} {4}} {1}nk=14Fr..Somit ist π = 4 kn \ pi = \ frac {4k} {n}Pi=n4 k
Fügen Sie hier eine Bildbeschreibung ein

In Python implementiert:

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))

Ausgabe: 3.1424

 Das Ausgabeergebnis ist viel schlechter als das bekannte 3.1415926, da wir nur 10.000 Experimente simuliert haben und die Anzahl der Experimente erhöht werden kann, um den Fehler zu reduzieren

Ich denke du magst

Origin blog.csdn.net/TSzero/article/details/111928172
Empfohlen
Rangfolge