La méthode de Monte Carlo (MC) est un terme général pour les méthodes qui effectuent des simulations et des calculs numériques à l'aide de nombres aléatoires. À l'origine, une méthode conçue par Stanislaw Ulam et nommée par John von Neumann pour explorer comment les neutrons se déplacent dans une substance. Nommé d'après Monte Carlo, l'un des quatre quartiers (Culti) de la Principauté de Monaco, célèbre pour ses casinos. Aussi appelée méthode aléatoire.
Citer wikipedia
En bref, c'est l'une des méthodes pour effectuer un calcul numérique à l'aide de nombres aléatoires.
Norme euclidienne pour mesurer si la distance entre le point généré et l'origine est de 1 ou moins
\sqrt{x^2+y^2}
Calculez avec. La distance euclidienne est la distance normale entre deux points, telle que mesurée par une personne avec une règle.
#Installer le module
import numpy as np
import math
import matplotlib.pyplot as plt
#X et y dans un cercle
inside_x = []
inside_y = []
#X et y hors du cercle
outside_x = []
outside_y = []
count_inside = 0
for count in range(0, N):
d = math.hypot(x[count], y[count])
if d <1:
count_inside +=1
#Combinaison de x et y lors de l'entrée à l'intérieur d'un cercle
inside_x.append(x[count])
inside_y.append(y[count])
else:
outside_x.append(x[count])
outside_y.append(y[count])
print('Numéro à l'intérieur du cercle:', count_inside)
production
Numéro à l'intérieur du cercle: 7875
#Taille de la figure
plt.figure(figsize=(5,5))
#Données pour dessiner un cercle
circle_x = np.arange(0,1,0.001)
circle_y = np.sqrt(1 - circle_x * circle_x)
#Tracez un cercle
plt.plot(circle_x, circle_y)
#Le rouge est dans le cercle
plt.scatter(inside_x, inside_y, color = 'r')
#Le bleu est hors du cercle
plt.scatter(outside_x, outside_y, color = 'b')
#Donnez un nom
plt.xlabel('x')
plt.ylabel('y')
plt.grid(True) #Avoir une grille
#Parce que c'est l'aire du cercle unité divisée en quatre parties égales d'un cercle de rayon 1.
print('Valeur approximative du rapport de circonférence:'4.0 * count_inside / N)
production
Valeur approximative du rapport de circonférence: 3.144
La méthode de Monte Carlo devient plus précise à mesure que le nombre de points augmente, mais son exécution prend plus de temps.
Recommended Posts