隨機漫步生成是無規則的,是系統自行選擇的結果。根據設定的規則自定生成,上下左右的方位,每次所經過的方向路徑。
首先,建立乙個randomwalk()類和fill_walk()函式
random_walk.py
from random import2、繪製隨機漫步圖choice
class
randomwalk ():
'''乙個生成隨機數漫步的類
'''def
__init__(self,num_point=5000):
'''初始化隨機漫步的屬性
'''self.num_point =num_point
#所有隨機漫步的開始都是座標[0,0]
self.x_lab =[0]
self.y_lab =[0]
deffill_walk(self):
'''計算隨機漫步的所有點
'''while len(self.x_lab)
#決定前進方向以及前進的距離
x_direction = choice([1,-1])
x_distance = choice([0,1,2,3,4])
x_step = x_direction *x_distance
y_direction = choice([1,-1])
y_distance = choice([0,1,2,3,4])
y_step = y_direction *y_distance
#拒絕原地不動
if x_step == 0 and y_step ==0:
continue
#計算下乙個點x和y的值
next_x = self.x_lab[-1] +x_step
next_y = self.y_lab[-1] +y_step
rw_visual.py
import3、生成效果matplotlib.pyplot as plt
from random_walk import
randomwalk
from random import
choice
rw =randomwalk()
rw.fill_walk()
plt.scatter(rw.x_lab,rw.y_lab,s=15)
plt.show()
4、修改**-->隱藏邊框
rw_visual.py
import5、展示效果matplotlib.pyplot as plt
from random_walk import
randomwalk
from random import
choice
while
true:
rw =randomwalk()
rw.fill_walk()
#設定繪畫視窗大小
plt.figure(dpi=128,figsize=(10,6))
point_numbers =list(range(rw.num_point))
#突出起點(0,0)和終點
plt.scatter(0,0,c='
green
',edgecolors='
none
',s=100)
plt.scatter(rw.x_lab[-1],rw.y_lab[-1],c='
red',edgecolors='
none
',s=100)
#隱藏座標軸
plt.axes().get_xaxis().set_visible(false)
plt.axes().get_yaxis().set_visible(false)
plt.scatter(rw.x_lab,rw.y_lab,c=point_numbers,cmap=plt.cm.blues,edgecolors='
none
',s=15)
plt.show()
keep_running = input("
make another walk?(y/n): ")
keep_running =keep_running.lower()
if keep_running == 'n'
:
break
python隨機漫步 Python 隨機漫步
建立randomwalk 類 我們將使用python來生成隨機漫步資料,再使用matplotlib以引入矚目的方式將這些資料呈現出來 首先建立類randomwalk from random importchoiceclassrandomwalk 乙個生成隨機漫步資料的類 def init self,...
Python隨機漫步
隨機漫步,顧名思義,每一步都是隨機的,假設有乙個點,下一步往 走,往上?往下?往左還是右?走多遠?這些都沒有明確的表示,完全是隨機的,最後走到 是由一系列隨機決策決定的。這就是隨機漫步。那麼使用python怎麼樣模擬隨機漫步呢 首先我們需要建立乙個類,這個類需要具備三個屬性,1.隨機漫步多少次?2,...
numpy實現隨機漫步
隨機漫步是一種數學統計模型,它由一連串軌跡所組成,其中每一次都是隨機的,它能用來表示不規則的變動形式,如同乙個人亂步所形成的隨機記錄。在這裡用一種簡單的模式來實現,從0開始,步進為1或者 1,兩種步進的發生的概率相等。import random import matplotlib.pyplot as...