隨機漫步的實現

2021-10-16 11:41:06 字數 2317 閱讀 8065

為了模擬隨機漫步,將建立乙個名為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,...