Zweidimensionaler [zufälliger Spaziergang] unter Verwendung von Zufallszahlen (https://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0%E3% 82% A6% E3% 82% A9% E3% 83% BC% E3% 82% AF) wird simuliert.
Ein Schritt wird auf 1 gesetzt, beginnend mit dem Ursprung (0,0) und zufällig auf der zweidimensionalen Ebene.
import numpy as np
from random import random
import matplotlib.pyplot as plt
from math import *
"""
2D zufälliger Spaziergang
"""
N_calc_list = [10]
x, y, r = 0, 0, 0
R_list=[]
N=100000
x_list=[0]
y_list=[0]
for n in range(N):
theta=2.0*pi*random()#Winkel θ(2pi Einheit)Zufällig zu machen()Mit[0,1]Erzeugt eine einheitliche Zufallszahl.
x = x+cos(theta) #Bewegen Sie sich in x-Richtung. cos(θ)。
y = y+sin(theta) #Bewegen Sie sich in y-Richtung. Sünde(θ)
x_list.append (x) #Der Wert von x ist x_In Liste speichern
y_list.append(y) #Der Wert von y ist x_In Liste speichern
# for plot
plt.plot( x_list,y_list) # (x,y)Handlung
plt.xlabel('X ') #x-Achsenbeschriftung
plt.ylabel('Y') #Beschriftung der y-Achse
plt.xlim([-120,120]) #x-Achsenbereich
plt.ylim([-120,120]) #Bereich der y-Achse
plt.show()
Mit (0,0) als Startposition die Flugbahn von 100.000 Schritten
Die Beziehung zwischen dem Abstand R vom Ursprung (0,0) und der Anzahl der Bewegungsschritte N. Die x-Achse ist bei $ N ^ {1/2} $ aufgetragen. Die orange Linie ist der theoretische Wert, der durch $ N ^ {1/2} -> ∞ $ erhalten wird.
Recommended Posts