首先,我们要使用Python来生成随机漫步数据,再使用matplotlib以引人瞩目的方式将这些数据呈现出来。
随机漫步是这样行走得到的路径:每次行走都完全是随机的,没有明确的方向,结果是由一系列随即决策决定的,吉祥蚂蚁在晕头转向的情况下每次都沿随机的方向前行说经过的路径。
实际用途:
自然界,物理学,生物学,化学和经济领域
例如:漂浮在水面上的划分因不断受到水分子的挤压而在水面上移动,水滴中分子的运动是随机的,因此花粉在水面上的运动路径犹如随机漫步。
创建RandomWalk()类
为模拟随机漫步,我们将创建一个名为RandomWalk的类,它将随机选择前进的方向。
这个类需要三个属性,其中一个是存储随机漫步次数的变量,其他两个是列表,分别存储随机漫步经过的每个点的xy坐标。
RandomWalk只包含两个方法,_init_()和fill_walk()
fill_walk()计算随机漫步经过的所有点:
from random import choice
#为做出随机决策,我们将所有可能的决策都存储在一个列表中,并在每次做出决策时都使用choice()来决定使用哪种选择
class RandomWalk():
#一个生成随机漫步数据的类
def __init__(self,num_points=5000):
#初始化随机漫步的属性
#我们将随机漫步包含的点数设置为5000,这大到足以民生策划那个有趣的模式,同时又足够小,可确保能快速模拟随机漫步
self.num_points=num_points
#所有随机漫步都始于(0,0)
self.x_value=[0]
self.y_value=[0]
#我们创建了两个列表,用来存储xy的值,并让每次漫步都从(0,0)点出发
选择方向
我们使用fill_walk()来生成漫步包含的点,并决定每次漫步的方向,:
def fill_walk(self):
#计算随机漫步包含的所有点
#不断漫步,直到列表达到指定长度
while len(self.x_value)<self.num_points:
#决定前进方向和沿着这个方向前进的距离
#我们建立了一个循环,这个循环不断运行,直到漫步包含所需数量的点。
#这个方法的主要部分告诉Python如何模拟四种漫步决定:向右向左向上向下以及沿着指定方向走多远
x_direction=choice([1,-1])
x_distance=choice([0,1,2,3,4])
x_step=x_direction*x_distance
#choice([1,-1])给x_direction选择一个值,结果要么是表示向右走的1,要么是表示向左走的-1
#choice([0,1,2,3,4])给x_distance选择一个值,告诉Python沿着指定方向走多远,通过包含零,我们不仅能够沿着两个轴移动,还能沿着一个轴运动
#移动方向乘以移动距离来确定沿着xy轴移动的距离
#如果x_step>0,将向右移动,<0将向左移动,=0将垂直移动
y_