為了模擬隨機漫步,將建立乙個名為randomwalk的類隨機選擇前進方向,需要三個屬性
儲存隨機漫步次數的變數
儲存隨機漫步經過的每個點的x座標
儲存隨機漫步經過的每個點的y座標
該類只包含兩個方法,__init__()
和fill_work
,後者計算的是隨機漫步經過的所有的點。
random.py
from random import choice
class
randomwalk
:""""used to produce randomwalk"""
def__init__
(self, num_points=
5000):
"""initialize properties of randomwalk"""
self.num_points = num_points
"""all walks start at (0,0)"""
self.x_values =[0
] self.y_values =[0
]def
fill_work
(self)
:"""calculate the number of points involved in randomwalk"""
# keep walking until gets referred length
while
len(self.x_values)
< self.num_points:
"""choose a value for x_direction for either left 1 or right 1 (direction)"""
x_direction = choice([1
,-1]
)"""choose the walk length, including 0 allows moving toward y-axis"""
x_distance = choice([0
,1,2
,3,4
])"""relative position changes"""
x_step = x_distance * x_direction
y_direction = choice([1
,-1]
) y_distance = choice([0
,1,2
,3,4
])y_step = y_distance * y_direction
"""do not stay stationary"""
if x_step ==
0and y_step ==0:
continue
"""calculate x and y for next point"""
next_x = self.x_values[-1
]+ x_step
next_y = self.y_values[-1
]+ y_step
visual
import matplotlib.pyplot as plt
from random_walk import randomwalk
while
true
: rw = randomwalk(
) rw.fill_work(
) point_nums =
list
(range
(rw.num_points)
) plt.scatter(rw.x_values, rw.y_values, c=point_nums,
cmap=plt.cm.reds, edgecolors=
'none'
, s=15)
plt.show(
) keep_running =
input
(" you want to do it again babe?"
)if keep_running ==
"no"
:break
extra:
調整尺寸:解析度和高和寬。
plt.figure(dpi=
128, figsize=(10
,6))
隱藏座標軸:
plt.axes(
).get_xaxis(
).set_visible(
false
)
numpy實現隨機漫步
隨機漫步是一種數學統計模型,它由一連串軌跡所組成,其中每一次都是隨機的,它能用來表示不規則的變動形式,如同乙個人亂步所形成的隨機記錄。在這裡用一種簡單的模式來實現,從0開始,步進為1或者 1,兩種步進的發生的概率相等。import random import matplotlib.pyplot as...
Python實現隨機漫步
隨機漫步生成是無規則的,是系統自行選擇的結果。根據設定的規則自定生成,上下左右的方位,每次所經過的方向路徑。首先,建立乙個randomwalk 類和fill walk 函式 random walk.py from random import choice class randomwalk 乙個生成隨...
python隨機漫步 Python 隨機漫步
建立randomwalk 類 我們將使用python來生成隨機漫步資料,再使用matplotlib以引入矚目的方式將這些資料呈現出來 首先建立類randomwalk from random importchoiceclassrandomwalk 乙個生成隨機漫步資料的類 def init self,...