1、隨機漫步
隨機漫步是這樣行走得到的路徑:每次行走都完全是隨機的,沒有明確的方向, 結果是由一系列隨機決策決定的。
為模擬隨機漫步,我們將建立乙個名為randomwalk的類,它隨機地選擇前進方向。這個類需 要三個屬性,其中乙個是儲存隨機漫步次數的變數,其他兩個是列表,分別儲存隨機漫步經過的 每個點的x和y座標。 randomwalk類只包含兩個方法:init()和fill_walk(),其中後者計算隨機漫步經過的所 有點。下面先來看看init(),如下所示:
from random import choice
class
randomwalk
():def
__init__
(self,num_points=5000):
self.num_points=num_points
self.x_values = [0]
self.y_values = [0]
deffill_walk
(self):
"""計算隨機漫步包含的所有點"""
# 不斷漫步,直到列表達到指定的長度
while len(self.x_values) < self.num_points:
# 決定前進方向以及沿這個方向前進的距離
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_values[-1] + x_step
next_y = self.y_values[-1] + y_step
模擬單(多)次隨機漫步
import matplotlib.pyplot as plt2、設定隨機漫步圖的樣式from random_walk import randomwalk
while
true:
rw = randomwalk()
rw.fill_walk()
plt.scatter(rw.x_values,rw.y_values,s=15)
plt.show()
keep_running = input("make another walk? (y/n): ")
if keep_running == 'n':
break
給點著色:使用顏色對映來指出漫步中各點的先後順序,並刪除每個點的黑色輪廓,讓它們的顏色更明顯。為根據漫步中各點的先後順序進行著色,我們傳遞引數c,並將其設定為乙個列表, 其中包含各點的先後順序。由於這些點是按順序繪製的,因此給引數c指定的列表只需包含數字 1~5000,如下所示:
import matplotlib.pyplot as plt
from random_walk import randomwalk
while
true:
rw = randomwalk()
rw.fill_walk()
point_numbers = list(range(rw.num_points))
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,cmap=plt.cm.blues,
edgecolor='none',s=15)
plt.show()
keep_running = input("make another walk? (y/n): ")
if keep_running == 'n':
break
重新繪製起點和終點:讓起點和終點變得更大, 並顯示為不同的顏色,以突出它們。
plt.scatter(rw.x_values,rw.y_values,c=point_numbers,
cmap=plt.cm.blues,edgecolor='none',s=15)
plt.scatter(0,0,c='green'
,edgecolor='none',s=100)
plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red'
,edgecolors='none',s=100)
plt.show()
隱藏座標軸:
plt.axes().get_xaxis().set_visible(false)
plt.axes().get_yaxis().set_visible(false)
增加點數 :建立randomwalk例項時增大num_points 的值,並在繪圖時調整每個點的大小
rw =randomwalk(50000)
調整尺寸以適合螢幕 :
rw = randomwalk()
rw.fill_walk()
# 設定繪圖視窗的尺寸
plt.figure(figsize=(10, 6))
Python 程式設計 從入門到實踐
1.官網安裝 3.環境配置 務必選中核取方塊add python to path 4.檢視 啟動python版本的命令 python 執行 print hello python world 5.終端執行x.py檔案 python x.py 7.檢視當前目錄中的所有檔案的命令 dir windows系...
Python程式設計從入門到實踐 基礎入門
python程式設計從入門到實踐 基礎入門 1 python中的變數 2 python首字母大寫使用title 方法,全部大寫upper 方法,全部小寫lower 方法 3 python中字串拼接使用 號 4 python中刪除字串的空格 刪除末尾空格的rstrip 刪除開頭空格的lstrip 刪除...
Python程式設計 從入門到實踐 1
內容總結自 python程式設計 從入門到實踐 安裝python3 安裝文字編輯器sublime text並配置python3環境 安裝sublime text tools new build system 將 untitled.sublime build 文件中的所有內容刪除,輸入以下內容 注意,...