数据可视化_模拟随机漫步

作者:雷蕾
什么是随机漫步?随机漫步是怎样的一个行走路径?随机漫步每次行走都是完全随机的、没有明确的方向,结果是由一系列随机决策决定的。为了更好地理解,我们可以把随机漫步看作是蚂蚁晕头转向的情况下,每次都沿随机的方向前行所经过的路径。
(一)创建RandomWalk类
为模拟随机漫步,将创建一个名为RandomWalk的类,它随机地选择方向前进,这个类需要包含三个属性:一个存储随机漫步次数的变量,其他两个属性是列表,分别存储随机漫步经过的每个点的x坐标和y坐标:

from random import choice

class RandomWalk:
    '''一个生成随机漫步数据的类'''
    def __init__(self,num_points=5000):
        '''初始化随机漫步的属性'''
        self.num_points=num_points
        #所有随机漫步数都始于0
        self.x_values=[0]
        self.y_values=[0]

为做出随机决策,将所有可能的选择都存储在一个列表中,并在每次决策时都使用模块random中的choice()来决定使用哪种选择。
类 RandomWalk中定义了方法__init__(),并将随机漫步包含的默认点数设置为5000,当然我们也可改变随机漫步点数。

 self.x_values=[0]
 self.y_values=[0]

这两行代码是创建两个用于存储x值和y值的列表,并让每次漫步起点从(0,0)开始。
(二)选择方向
在类RandomWalk中定义了方法fill_walk():

 #选择方向
    def fill_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值
            x=self.x_values[-1]+x_step
            y=self.y_values[-1]+y_step

            self.x_values.append(x)
            self.y_values.append(y)

该示例中使用方法fill_walk()来生成漫步包含的点并决定每次漫步的方向,在方法fill_walk()中主要是告诉python如何模拟四种漫步决定:向右走还是向左走?沿指定的方向走多远?向上走还是向下走&#

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值